gpt4 book ai didi

javascript - 使用 Node-Native 在 MongoDB 中进行身份验证

转载 作者:行者123 更新时间:2023-12-02 19:21:59 29 4
gpt4 key购买 nike

我在 Nodejitsu/MongoHQ 应用程序中保存 MongoDB 文档时遇到问题。本地一切正常,但 MongoHQ 数据库需要身份验证,并且工作用户/密码失败(使用相同的凭据连接到 MongoDB shell 工作正常)。这是函数:

var update_user = function(user, callback) {

var client = new Db(db, new Server(host, port, {}));
var update = function (err, collection) {
collection.findOne({uid:user.id}, function(err, doc) {
if (err) { throw err; }
if (!doc) doc = { uid: user.id }
doc.img = user.img;
doc.name = user.name;

collection.save(doc, {safe: true}, function(err, doc) {
if (err) { throw err; }
callback(user);
});
});
};

client.open(function(err, client) {
if (err) { throw err; }
client.authenticate(user, pass, function(err, result) {
client.collection('users', update);
});
});
}

我在这里做错了什么?

UPD:authenticate 方法的 err 参数具有以下值:

{ [MongoError: auth fails] name: 'MongoError', errmsg: 'auth fails', ok: 0 }

我再次检查了存储的密码和用户名,它们用于登录 MongoHQ shell。

最佳答案

如果您的凭据用于管理员用户帐户,则 must target authenticate 调用中的管理数据库:

client.authenticate(user, pass, {authdb: 'admin'}, function(err, result) {
client.collection('users', update);
});

关于javascript - 使用 Node-Native 在 MongoDB 中进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12445054/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com