【发布时间】:2014-12-10 11:27:54
【问题描述】:
我正在尝试从我的 Web 应用程序连接到 mongodb。但是,当我指定要连接到的数据库时,我从 mongo 获得了 auth failed error。如果我不指定db,那么to 连接成功。
我已经检查了拼写,如果数据库退出了 mongo 命令行show dbs
var dbURI = 'mongodb://root:pwd@localhost:27017/dbname';
mongoose.connect(dbURI, function(err) {
if (err) throw err;
});
C:\Users\David\Documents\Bitbucket\productWebsite\node_modules\mongoose\node_modules\mongodb\lib\mongodb\connection\base.js:245
throw message;
^
MongoError: auth failed
at Object.toError (C:\Users\David\Documents\Bitbucket\productWebsite\node_modules\mongoose\node_modules\mongodb\lib\mongodb\utils.js:114:11)
at C:\Users\David\Documents\Bitbucket\productWebsite\node_modules\mongoose\node_modules\mongodb\lib\mongodb\db.js:1130:31
at C:\Users\David\Documents\Bitbucket\productWebsite\node_modules\mongoose\node_modules\mongodb\lib\mongodb\db.js:1847:9
at Server.Base._callHandler (C:\Users\David\Documents\Bitbucket\productWebsite\node_modules\mongoose\node_modules\mongodb\lib\mongodb\connection\base.js:445:41)
at C:\Users\David\Documents\Bitbucket\productWebsite\node_modules\mongoose\node_modules\mongodb\lib\mongodb\connection\server.js:478:18
at MongoReply.parseBody (C:\Users\David\Documents\Bitbucket\productWebsite\node_modules\mongoose\node_modules\mongodb\lib\mongodb\responses\mongo_reply.js:68:5)
at null.<anonymous> (C:\Users\David\Documents\Bitbucket\productWebsite\node_modules\mongoose\node_modules\mongodb\lib\mongodb\connection\server.js:436:20)
at emit (events.js:95:17)
at null.<anonymous> (C:\Users\David\Documents\Bitbucket\productWebsite\node_modules\mongoose\node_modules\mongodb\lib\mongodb\connection\connection_pool.js:201:13)
at emit (events.js:98:17)
我在 Windows 上使用 Bitnami 平均堆栈
谁能告诉我我忘记了什么?
【问题讨论】:
-
您是否将该身份验证添加到该数据库?
-
是的,我已经使用 Robomongo GUI 和本机 mongo 控制台连接到数据库。凭据有效
-
用户名或密码是否有需要转义的字符? stackoverflow.com/questions/14335978/…
-
作为后续,如果是这种情况,请考虑在连接时您必须在
MongoClient上设置uri_decode_auth选项。 mongodb.github.io/node-mongodb-native/api-generated/… -
我不使用特殊字符
标签: node.js mongodb mean-stack