私は以下を持っています、そして私はログインしてクエリを実行するためにそれを使用しているので、私は通り抜けますdb.authenticate
、しかし私が私のクエリを実行すると私はスローされます:
MongoError: unauthorized data ns:data.data lock type:0 client:127.0.0.1] name: 'MongoError' }
以下のコードブロックはすべてのネストで見えるかもしれませんが、それはjavascriptの唯一の欠陥だと思います。
Db.open(function(err, db) {
if(!err) {
db.authenticate("admin", "1234", function(authdb, err) {
if(!err) { //YAY I LOG IN!!!
db.collection('data', function(err, collection) {
collection.findOne({'id':'1'}, function(err, item) {
if(err) { //What?!? I AM logged in
db.close();
console.log(err);
}
} );
} );
}
} ); //Sad face
}
});
どうして認証できるのにfindOne
クエリを実行できないのですか?mongoシェルで同じユーザーを使って同じことを試してみると、それが実行されます。