使用mongoDB客户端连接mongoDB时遇到问题

时间:2019-01-30 08:30:13

标签: node.js mongodb

我正在使用我的应用程序中的mongodb客户端连接mongodb。

'app.js'文件。

var MongoClient = require('mongodb').MongoClient

MongoClient.connect('mongodb://localhost:27017/animals', function (err, db) {
  if (err) throw err

//   db.collection('mammals').find().toArray(function (err, result) {
//     if (err) throw err

//     console.log(result)
//   })
})

问题是:

(node:16348) DeprecationWarning: current URL string parser is 
deprecated, and will be removed in a future version. To use the new 
parser, pass option { useNewUrlParser: true } to MongoClient.connect.
/home/amarjeet/Desktop/node2/node_modules/mongodb/lib/operations/mongo_client_ops.js:474
      throw err;
       ^

MongoNetworkError: failed to connect to server [localhost:27017] on 
first connect [MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017]
    at Pool.<anonymous> (/home/amarjeet/Desktop/node2/node_modules/mongodb- 
core/lib/topologies/server.js:564:11)
    at Pool.emit (events.js:188:13)
    at Connection.<anonymous> 
(/home/amarjeet/Desktop/node2/node_modules/mongodb-core/lib/connection/pool.js:317:12)
    at Object.onceWrapper (events.js:276:13)
    at Connection.emit (events.js:188:13)
    at Socket.<anonymous> (/home/ amarjeet/Desktop/node2/node_modules/mongodb-core/lib/connection/connection.js:246:50)
    at Object.onceWrapper (events.js:276:13)
    at Socket.emit (events.js:188:13)
    at emitErrorNT (internal/streams/destroy.js:82:8)
    at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
[nodemon] app crashed - waiting for file changes before starting...

所以这是终端上显示的问题,我不知道如何解决!

2 个答案:

答案 0 :(得分:1)

  

只需在连接中添加{useNewUrlParser:true}

var MongoClient = require('mongodb').MongoClient

MongoClient.connect('mongodb://localhost:27017/animals', {useNewUrlParser: true }, function (err, db) {
  if (err) throw err
//   db.collection('mammals').find().toArray(function (err, result) {
//     if (err) throw err

//     console.log(result)
//   })
})

答案 1 :(得分:1)

您必须先在系统中安装MongoDB数据库服务器并启动它。
如果已安装:
检查服务器是否处于启动状态。并尝试与mongo shell连接
并且服务器也处于启动状态:
而不是像@Vaghani Janak所说的那样放{useNewUrlParser: true }