我最近在mongoLab.When中创建了一个帐户,我正在尝试使用下面的语句连接到数据库。
var mongoose = require('mongoose');
mongoose.connect('mongodb://mk:12345@ds047742.mongolab.com:47742/mkdb');
我总是得到以下错误
MongoError: auth failed
at Function.MongoError.create (/Users/a042292/Desktop/start/node_modules/mongoose/node_modules/mongodb/node_modules/mongodb-core/lib/error.js:31:11)
at /Users/a042292/Desktop/start/node_modules/mongoose/node_modules/mongodb/node_modules/mongodb-core/lib/topologies/server.js:793:66
at Callbacks.emit (/Users/a042292/Desktop/start/node_modules/mongoose/node_modules/mongodb/node_modules/mongodb-core/lib/topologies/server.js:94:3)
at null.messageHandler (/Users/a042292/Desktop/start/node_modules/mongoose/node_modules/mongodb/node_modules/mongodb-core/lib/topologies/server.js:235:23)
at Socket.<anonymous> (/Users/a042292/Desktop/start/node_modules/mongoose/node_modules/mongodb/node_modules/mongodb-core/lib/connection/connection.js:259:22)
at Socket.emit (events.js:107:17)
at readableAddChunk (_stream_readable.js:163:16)
at Socket.Readable.push (_stream_readable.js:126:10)
at TCP.onread (net.js:538:20)
发布于 2015-07-22 19:40:12
Mongolab将他们的2.6.x数据库升级到3.0.x。不幸的是,mongo3具有不同的身份验证机制,因此旧的客户端不兼容。
Mongoose使用的是原生的mongo驱动程序,所以你必须升级它。这通常通过升级您本地的mongo安装来完成。
对于使用mongojs的用户,请升级到最新版本,连接后在options对象中添加authMechanism:'ScramSHA1'
参数:
db = mongojs('mongodb://username:password@ds31341.mongolab.com:32132/mydb', ["mycollection"], {authMechanism: 'ScramSHA1'});
发布于 2016-03-21 17:57:56
对我来说,解决方案是:
$ npm install --save --save-exact mongoose@4.1.9
发布于 2018-02-17 22:41:40
在这里,我们必须知道mLab用户名和密码不是我们数据库too...there的用户名和密码,因为我们必须检查连接字符串是否使用了正确的用户名和密码
我们可以在这里创建数据库用户帐户->>
我的连接常量如下
const db ="mongodb://<My database username>:<my database password>.mlab.com:39648/videoplayer"
https://stackoverflow.com/questions/30924859
复制相似问题