我正在尝试使用Auth0授权连接我的Mongodb。我正在使用Mlabs托管数据库。在此数据库中,我有一个“用户”集合,并且文档具有“用户名”,“密码”,“电子邮件”和“ _id”键。当我尝试使用Auth0登录脚本时,出现以下错误:不授权在mydb.users上进行查询。以下是脚本:
function login(email, password, callback) {
mongo('<mongodb uri>', function (db) {
var users = db.collection('users');
console.log(users);
users.findOne({ email: email }, function (err, user) {
if (err) return callback(err);
if (!user) return callback(new WrongUsernameOrPasswordError(email));
bcrypt.compare(password, user.password, function (err, isValid) {
if (err) {
callback(err);
} else if (!isValid) {
callback(new WrongUsernameOrPasswordError(email));
} else {
callback(null, {
user_id: user._id.toString(),
nickname: user.nickname,
email: user.email
});
}
});
});
});
}
有什么主意为什么会出现此错误?预先感谢!
答案 0 :(得分:0)
您可能必须检查与数据库的连接。 回调应该有一个错误参数
mongo('<mongodb uri>', function (err,db) {
if(err){
console.log(err)
}
})
如果仍不能解决问题,那么您必须分配读写权限才能在指定数据库上执行预期的操作(在您的情况下为读取)