0
내 노드 쥬/몽고 HQ 앱의 MongoDB에 문서를 저장하는 데 문제가 있습니다. 로컬에서는 모두 정상적으로 작동하지만 MongoHQ db 인증이 필요하며 작업 사용자/패스에서 실패합니다 (동일한 자격 증명으로 MongoDB 셸에 연결하면 문제가 없습니다). 함수는 다음과 같습니다.노드 - 네이티브로 MongoDB에서 인증하기
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 :을 인증 방법의 잘못을 매개 변수는 다음 값이 있습니다
{ [MongoError: auth fails] name: 'MongoError', errmsg: 'auth fails', ok: 0 }
내가 다시 저장 암호 & 이름을 확인, 그들은 MongoHQ 쉘에서 로깅 작동합니다.
는 특히 실패? 'client.authenticate' 콜백에 대한'err' 매개 변수에 단서가 있습니까? 네가 무시하는 것 같아. – JohnnyHK
@ JohnnyHK : 내 대답을 오류 메시지로 업데이트했습니다. – skazhy
사용자 계정이 관리 사용자 인 경우 특별히 admin 데이터베이스에 로그인해야합니다. 관리자 계정입니까? – JohnnyHK