我收到以下错误:
Warning { MongoError: failed to connect to server [mongodb:27017] on first connect
at Pool.<anonymous> (/Users/michaelks/Desktop/users/node_modules/mongodb-core/lib/topologies/server.js:325:35)
at emitOne (events.js:96:13)
at Pool.emit (events.js:188:7)
at Connection.<anonymous> (/Users/michaelks/Desktop/users/node_modules/mongodb-core/lib/connection/pool.js:270:12)
at Connection.g (events.js:292:16)
at emitTwo (events.js:106:13)
at Connection.emit (events.js:191:7)
at Socket.<anonymous> (/Users/michaelks/Desktop/users/node_modules/mongodb-core/lib/connection/connection.js:173:49)
at Socket.g (events.js:292:16)
at emitOne (events.js:96:13)
at Socket.emit (events.js:188:7)
at connectErrorNT (net.js:1025:8)
at _combinedTickCallback (internal/process/next_tick.js:74:11)
at process._tickCallback (internal/process/next_tick.js:98:9)
name: 'MongoError',
message: 'failed to connect to server [mongodb:27017] on first connect' }
即使我在运行 Mongo 的终端窗口中得到了这个:
2016-12-25T03:45:23.715+0100 I NETWORK [initandlisten] connection accepted from 127.0.0.1:58868 #8 (8 connections now open)
好像有关系。。
我都试过了
$ mongod
和
$ brew services start mongo
这是我的 test_helper.js
const mongoose = require('mongoose');
mongoose.connect('mongodb:localhost/users_test');
mongoose.connection
.once('open', () => console.log('Good to go!'))
.on('error', (error) => {
console.warn('Warning', error);
});
我没有专门制作数据库“users_test”,因为我的印象是 mongoose 或 mongo 或两者都会即时执行此操作。
我已经尝试过“localhost”和“127.0.0.1”。我在 OSX 10.11.5 我正在运行 Node 7.3.0 和 Mongo 3.2.9
我究竟做错了什么?我如何找出问题所在?
原文由 Michael Krøyserth-Simsø 发布,翻译遵循 CC BY-SA 4.0 许可协议
要使用 --- 连接 到
mongodb
mongoose
,您可以使用:或者
或者
但不是
mongoose.connect('mongodb:localhost/users_test');
,它与正确的主机名不匹配(mongodb
而不是localhost
)