当我执行时,我的本地mongodb中有一个用户(用户名:hxh,密码:1234):
hxh@ubuntu:~/share/nodejs/appid2zgk7rv83v$ mongo
MongoDB shell version: 2.4.6
connecting to: test
> use admin
switched to db admin
> db.auth('hxh','1234')
1
>
这表明我的用户名和密码没问题,但是当我尝试在我的nodejs app中连接mongodb时:
var Db = require('mongodb').Db;
var Server = require('mongodb').Server;
var db = new Db('test', new Server('localhost', '27017'));
db.open(function(err, db) {
db.authenticate('hxh', '1234', function(err, result) {
.....
});
});
我收到了错误
MongoError: auth fails
为什么我收到此错误?
答案 0 :(得分:0)
可能是你应该传递你的dbname,即'admin'而不是'test'
var db = new Db('admin', new Server('localhost', '27017'));
答案 1 :(得分:0)
尝试创建用户并传入测试表: 使用测试; db.createUser ...