我有以下内容,并且我使用它来登录并进行查询,所以我通过了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 shell 中对同一个用户尝试相同的操作,它会通过。