sql >> Databáze >  >> NoSQL >> MongoDB

MongoError:není autorizováno k provedení příkazu { find:app_updates, filter:{ key:0.0.1-admins }, limit:1, batchSize:1, singleBatch:true }

Ve vaší konfiguraci používáte autorizaci pro přístup k Mongo

# Security settings.
security:
  authorization: enabled 

Nejprve musíte vytvořit uživatele - otevřít mongo konzolu (mongo)Spustit mongod bez konfigurace

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

připojte se k instanci pomocí konzoly

mongo --port 27017

v mongo konzoli zadejte další příkazy

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

Nyní můžete přistupovat k mongo pomocí jako služby s vaší konfigurací

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

Takže musíte udělit přístup k mongo vytvořením nového uživatele s oprávněním ReadWrite

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

A zkuste se připojit pomocí tohoto credentialsmongo --port 27017 -u "myAppDbUser" -p "myApp123" --authenticationDatabase "myAppDb"

a použijte tohoto uživatele pro keystone config pro připojení k mongo, například

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

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




  1. Embedded MongoDB při spouštění integračních testů

  2. Mapování - Mongodb Embedded Document v Symfony2

  3. Upozornění:Nedefinovaná vlastnost:MongoDB\Driver\Manager::$mydb v [Cesta] na wamp serveru

  4. Jak odstranit Redis na posluchačích 'zprávy'