【发布时间】:2018-12-13 07:05:44
【问题描述】:
运行“nodemon index.js”后,我收到此错误,不是我的应用程序无法连接到 mongo:
{ MongoNetworkError: failed to connect to server [localhost:27017] on first connect [MongoNetworkError: getaddrinfo ENOTFOUND localhost localhost:27017]
at Pool.<anonymous> (/Users/Dakota/Projects/2018-Udemy-Bootcamp/node-mongo-project/todos_api/node_modules/mongodb-core/lib/topologies/server.js:564:11)
at emitOne (events.js:116:13)
at Pool.emit (events.js:211:7)
at Connection.<anonymous> (/Users/Dakota/Projects/2018-Udemy-Bootcamp/node-mongo-project/todos_api/node_modules/mongodb-core/lib/connection/pool.js:317:12)
at Object.onceWrapper (events.js:317:30)
at emitTwo (events.js:126:13)
at Connection.emit (events.js:214:7)
at Socket.<anonymous> (/Users/Dakota/Projects/2018-Udemy-Bootcamp/node-mongo-project/todos_api/node_modules/mongodb-core/lib/connection/connection.js:246:50)
at Object.onceWrapper (events.js:315:30)
at emitOne (events.js:116:13)
at Socket.emit (events.js:211:7)
at emitErrorNT (internal/streams/destroy.js:64:8)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
name: 'MongoNetworkError',
errorLabels: [ 'TransientTransactionError' ],
[Symbol(mongoErrorContextSymbol)]: {} }
我的代码如下:
let mongoose = require('mongoose');
let dbUrl = 'mongodb://localhost/todo-api';
mongoose.set('debug', true);
mongoose.Promise = Promise;
mongoose.connect(dbUrl, { useNewUrlParser: true }).then(() => {
console.log("Database connection is active");
}).catch(err => {
console.log(err);
});
module.exports.Todo = require('./todo');
我已经在终端启动了 mongod。
这个问题发生在我家的网络上,但如果我去街上的咖啡店,它会连接。我已经阅读了一些有关导致问题的防火墙和 IP 地址的内容,并尽我所能调整这两件事,但我似乎仍然无法解决这个问题。
关于如何解决这个问题的任何见解?
【问题讨论】:
-
您的数据库是否正在运行?终端中
service mongod status的输出是什么?
标签: javascript node.js mongodb express