MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

MongoError:няма разрешение за изпълнение на команда { find:app_updates, filter:{ key:0.0.1-admins }, limit:1, batchSize:1, singleBatch:true }

Във вашата конфигурация използвате оторизация за достъп до Mongo

# Security settings.
security:
  authorization: enabled 

Първо трябва да създадете потребител - отворете mongo конзола (mongo) Стартирайте mongod без конфигурация

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

свържете се с екземпляра чрез конзолата

mongo --port 27017

в mongo конзолата въведете следващите команди

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

Сега можете да получите достъп до mongo като услуга с вашата конфигурация

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

Така че трябва да предоставите достъп до mongo, като създадете нов потребител с разрешение ReadWrite

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

И опитайте да се свържете с помощта на този credentialsmongo --port 27017 -u "myAppDbUser" -p "myApp123" --authenticationDatabase "myAppDb"

и използвайте този потребител за конфигурация на keystone, за да се свържете с mongo, например

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

(чрез https://medium.com/@raj_adroit /mongodb-enable-authentication-enable-access-control-e8a75a26d332 )




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Express/Node.js грешка:Референтна грешка:Res не е дефиниран

  2. Как да актуализирам вграден документ във вложен масив?

  3. Как да промените shard ключа

  4. Включва резервно криптиране за MySQL, MongoDB и PostgreSQL - ClusterControl 1.5.1

  5. Как да заявите дата на mongodb с помощта на php