sql >> Database teknologi >  >> NoSQL >> MongoDB

MongoError:ikke autoriseret til at udføre kommandoen { find:app_updates, filter:{ key:0.0.1-admins }, limit:1, batchSize:1, singleBatch:true }

I din konfiguration bruger du autorisation til at få adgang til Mongo

# Security settings.
security:
  authorization: enabled 

Først skal du oprette bruger - åbn mongo-konsollen (mongo)Start mongod uden konfiguration

mongod --port 27017 --dbpath /data/db1

opret forbindelse til instansen ved hjælp af konsol

mongo --port 27017

Indtast næste kommandoer i mongo-konsollen

use admin
db.createUser(
  {
    user: "superAdmin",
    pwd: "admin123",
    roles: [ { role: "root", db: "admin" } ]
  })

Nu kan du få adgang til mongo ved at bruge som en tjeneste med din konfiguration

mongo --port 27017 -u "superAdmin" -p "admin123" --authenticationDatabase "admin"

Så du skal give adgang til mongo ved at oprette en ny bruger med ReadWrite-tilladelse

use myAppDb #its name of your Database
db.createUser(
  {
   user: "myAppDbUser", #desired username
   pwd: "myApp123", #desired password
   roles: [ "readWrite"]
  })

Og prøv at oprette forbindelse ved hjælp af denne credentialsmongo --port 27017 -u "myAppDbUser" -p "myApp123" --authenticationDatabase "myAppDb"

og brug denne bruger til keystone-konfiguration for at oprette forbindelse til mongo, for eksempel

mongodb://myAppDbUser:[email protected]:27017/myAppDb

(via https://medium.com/@raj_adroit /mongodb-enable-authentication-enable-access-control-e8a75a26d332 )




  1. c# mongodb driver hvordan man caster en mongo dobbelt værdi til en c# decimal

  2. mongoose:middleware pre deleteOne-indstillinger virker ikke

  3. Sådan bruger du mongoose findOne

  4. Hvordan vil jeg i Mongo matche alle samlingsgenstande med et større array?