sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoError:inte auktoriserad för att utföra kommandot { find:app_updates, filter:{ key:0.0.1-admins }, limit:1, batchSize:1, singleBatch:true }

I din konfiguration använder du behörighet för åtkomst till Mongo

# Security settings.
security:
  authorization: enabled 

Först måste du skapa användare - öppna mongo-konsolen (mongo)Starta mongod utan config

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

anslut till instansen med konsolen

mongo --port 27017

i mongo console skriv nästa kommandon

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

Nu kan du komma åt mongo som en tjänst med din konfiguration

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

Så du måste ge åtkomst till mongo genom att skapa en ny användare med ReadWrite-behörighet

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

Och försök att ansluta med denna referensmongo --port 27017 -u "myAppDbUser" -p "myApp123" --authenticationDatabase "myAppDb"

och använd den här användaren för keystone-konfiguration för att ansluta till mongo, till exempel

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

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




  1. Installera Apache CouchDB på Debian 9

  2. Är det möjligt att skriva cast-data i en aggregeringspipeline på MongoDB?

  3. Lyftbutik BigDecimal i MongoDB

  4. Skapa d3.js-graf från data på mongodb-servern