【发布时间】:2019-01-15 17:50:23
【问题描述】:
我正在尝试将数据从 node.js 发送到 mongoDB 罗盘服务器。我创建了一个 MongoDB 集群并下载了 Compass。我可以将 Compass 连接到集群,一切正常。
但是,当我尝试将 Node.js 服务器连接到 Compass 时出现错误,以下是我的节点代码。
const express = require('express');
const MongoClient = require('mongodb').MongoClient;
const assert = require('assert');
const app = express();
// Connect to mongodb
// Connection URL
const url = "mongodb://tfi-mfgbt.mongodb.net/test" ;
// Database Name
const dbName = 'TFI';
// Use connect method to connect to the server
MongoClient.connect(url, function(err, client) {
assert.equal(null, err);
console.log("Connected successfully to server");
const db = client.db(dbName);
client.close();
});
const port = 5000;
app.listen(port, () => {
console.log(`Server started on port ${port}`);
});
我在终端中运行 Node app.js 得到一个
MongoClient.connect.
Server started on port 5000
F:\code\vidjot\node_modules\mongodb\lib\operations\mongo_client_ops.js:439
throw err;
^
AssertionError [ERR_ASSERTION]: null == 'MongoNetworkError: failed to connect to server [tfi-mfgbt.mongodb.net:27017] on first connect [MongoNetworkError: getaddrinfo E
at F:\code\vidjot\app.js:20:10
at err (F:\code\vidjot\node_modules\mongodb\lib\utils.js:415:14)
at executeCallback (F:\code\vidjot\node_modules\mongodb\lib\utils.js:404:25)
at err (F:\code\vidjot\node_modules\mongodb\lib\operations\mongo_client_ops.js:284:21)
at connectCallback (F:\code\vidjot\node_modules\mongodb\lib\operations\mongo_client_ops.js:240:5)
at process.nextTick (F:\code\vidjot\node_modules\mongodb\lib\operations\mongo_client_ops.js:436:7)
at _combinedTickCallback (internal/process/next_tick.js:131:7)
at process._tickCallback (internal/process/next_tick.js:180:9)
[nodemon] app crashed - waiting for file changes before starting...
主机名 “mongodb://tfi-mfgbt.mongodb.net/test” 是我的 Compass 会话的主机名。如所见here
【问题讨论】: