【发布时间】:2018-11-27 15:19:39
【问题描述】:
我正在使用 nodejs、expressJs 和 mongodb 创建一个简单的服务器
这里是 server.js
const express = require('express');
const MongoClient = require('mongodb').MongoClient;
const bodyParser = require('body-parser');
const db = require('./config/db');
const app = express();
const port = 8000;
app.use(bodyParser.urlencoded({ extended: true }));
MongoClient.connect(db.url, (err, database) => {
if (err) return console.log(err)
require('./app/routes')(app, database);
app.listen(port, () => {
console.log('We are live on ' + port);
});
})
注意:数据库信息一切正常,
当我运行 node server.js 时,我收到以下错误:
C:\Users\Bonge\Documents\Projects\movies_database>node server.js
{ MongoError: Authentication failed.
at Function.MongoError.create (C:\Users\Bonge\Documents\Projects\movies_database\node_modules\mongodb-core\lib\error.js:31:11)
at C:\Users\Bonge\Documents\Projects\movies_database\node_modules\mongodb-core\lib\connection\pool.js:497:72
at authenticateStragglers (C:\Users\Bonge\Documents\Projects\movies_database\node_modules\mongodb-core\lib\connection\pool.js:443:16)
at Connection.messageHandler (C:\Users\Bonge\Documents\Projects\movies_database\node_modules\mongodb-core\lib\connection\pool.js:477:5)
at Socket.<anonymous> (C:\Users\Bonge\Documents\Projects\movies_database\node_modules\mongodb-core\lib\connection\connection.js:331:22)
at emitOne (events.js:116:13)
at Socket.emit (events.js:211:7)
at addChunk (_stream_readable.js:263:12)
at readableAddChunk (_stream_readable.js:250:11)
at Socket.Readable.push (_stream_readable.js:208:10)
name: 'MongoError',
message: 'Authentication failed.',
ok: 0,
errmsg: 'Authentication failed.',
code: 18,
codeName: 'AuthenticationFailed' }
我的代码有什么问题?
【问题讨论】:
-
显示您的数据库配置文件并检查stackoverflow.com/questions/30924859/…
-
你的 mongoose 和 mongodb 版本是多少?还有配置文件
-
@Ashish mongodb 版本:“mongodb”:“^2.2.33”,
-
@GauravPaliwal
module.exports = { url: "mongodb://dbnameusername:dbpass@ds255260.mlab.com:55260/dbname" } -
@HotZellah doc 说:可选。如果连接字符串包含用户名:密码@ 形式的身份验证凭据,则要进行身份验证的数据库的名称。如果未指定 /database 并且连接字符串包含凭据,则驱动程序将对管理数据库进行身份验证。
标签: node.js mongodb express mongoose