Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 通过Mlab的MongoDB-MongoError:身份验证失败_Node.js_Mongodb_Express_Mongoose - Fatal编程技术网

Node.js 通过Mlab的MongoDB-MongoError:身份验证失败

Node.js 通过Mlab的MongoDB-MongoError:身份验证失败,node.js,mongodb,express,mongoose,Node.js,Mongodb,Express,Mongoose,我正在使用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

我正在使用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' }

我的代码出了什么问题?

我发现解决方案刚刚创建了新数据库和新用户,一切都正常了

显示数据库配置文件,您是否检查了mongoose和mongodb的版本?还有配置file@Ashishmongodb版本:mongodb:^2.2.33,@GauravPaliwal module.exports={url:mongodb://dbnameusername:dbpass@ds255260.mlab.com:55260/dbname}@HotZellah说:可选。如果连接字符串包含用户名形式的身份验证凭据,则要进行身份验证的数据库的名称:password@. 如果未指定/database,并且连接字符串包含凭据,则驱动程序将向管理数据库进行身份验证。