sql >> データベース >  >> NoSQL >> MongoDB

MongoError:コマンドの実行が許可されていません{検索:app_updates、フィルター:{キー:0.0.1-admins}、制限: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"
    

    したがって、ReadWrite権限を持つ新しいユーザーを作成してmongoへのアクセスを許可する必要があります

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

    そして、この資格情報を使用して接続してみてくださいmongo --port 27017 -u "myAppDbUser" -p "myApp123" --authenticationDatabase "myAppDb"

    たとえば、このユーザーをkeystone configに使用して、mongoに接続します

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

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




    1. MongoDBのコレクションIDの長さ

    2. ハウツー:HBase Thriftインターフェースの使用、パート2:行の挿入/取得

    3. 明確な基準で最後のドキュメントを取得する

    4. MongoDB findOne()