编辑这个页面须要登录或更高权限!

Node.js MongoError

MongoError:无法连接到服务器

在此Node.js教程中,我们将学习修复 MongoError: 通过调查可能触发此错误的方案来未能连接到服务器

要修复Node.js MongoError:无法连接到服务器,请遵循两个检查点

  1. 确保MongoDB服务已启动并正在运行。

  2. 您提供给MongoClient的URL。connect()方法应该是正确的。

如何验证MongoDB服务是否已启动并正在运行

启动Mongo Shell应该对此进行验证。

如果您的MongoDB服务未启动,您将在终端中看到如下错误:

Mongo Shell 终端

arjun@tutorialkart:~/workspace/nodejs/mongodb$ mongo
MongoDB shell version v3.4.9
connecting to: mongodb://127.0.0.1:27017
2017-10-30T14:32:21.476+0530 W NETWORK [thread1] Failed to connect to 127.0.0.1:27017, in(checking socket for error after poll),
reason: Connection refused
2017-10-30T14:32:21.477+0530 E QUERY [thread1] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed :
connect@src/mongo/shell/mongo.js:237:13
@(connect):1:6
exception: connect failed

使用以下命令启动MongoDB服务:

sudo service mongod start

启动mongod Mongo Daemon时,不应报告任何错误。
当服务启动并启动Mongo Shell时,

Mongo Shell

arjun@nhooo:~/workspace/nodejs/mongodb$ mongo
MongoDB shell version v3.4.9
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.9

如何确保网址正确?

当我们启动Mongo Shell时,MongoDB将URL记录到Terminal,类似于以下内容:

connecting to: mongodb://127.0.0.1:27017

mongodb://127.0.0.1:27017 是基url.

确保您在您的Node.js应用程序中提供相同的基url(相同的ip和端口)。

// 运行MongoDB服务的URL
var url = "mongodb://localhost:27017"; 
 
// MongoDB的客户端
var MongoClient = require('mongodb').MongoClient; 
 
// 连接到MongoDB服务
MongoClient.connect(url, function(err, db) { 
  if (err) throw err; 
  console.log("Connected to MongoDB!"); 
  db.close(); 
 });

结论:

在本Node.js MongoDB教程–  Node.js MongoError:无法连接到服务器方面,我们学习了一些检查点以纠正错误。