我是node js开发的新手,最近尝试了一个基本程序来连接节点js和mongodb。我用“mongoose”从节点连接mongodb。
在进入数据库连接之前,我有以下问题。启动节点应用程序时有两种错误情况
案例1 - mongodb有可能无法启动,在这种情况下,节点服务器自身将无法启动。示例错误消息类似于
mongoose/node_modules/mongodb/lib/server.js:242 process.nextTick(function() { throw err; }) ^ Error: connect ECONNREFUSED at errnoException (net.js:905:11) at Object.afterConnect [as oncomplete] (net.js:896:19) [nodemon] app crashed - waiting for file changes before starting...
情况2 - mongodb
可能在启动节点应用程序时启动,但它可能会被某些不可避免的情况断开/停止。在这种情况下,如果我们进行任何数据库查询,节点服务器将被终止示例错误消息就像
DisconnectedError: Ran out of retries trying to reconnect to "localhost:27017". Try setting `server.reconnectTries` and `server.reconnectInterval` to something higher. at MongooseError.DisconnectedError
请告诉我如何处理这两个错误案例。 (一些示例代码/链接会更有帮助)
PS:我试图为此解决问题,但无法获得正确的解决方案(或)我可能会使用不正确的关键字进行搜索!
答案 0 :(得分:1)
我在nodejs中使用mongoose重新启动mongodb时遇到此连接错误。
connection error: {
[DisconnectedError:
Ran out of retries trying to reconnect to "127.0.0.1:27017".
Try setting `server.reconnectTries` and `server.reconnectInterval`
to something higher. ]
message: 'Ran out of retries trying to reconnect to "127.0.0.1:27017".
Try setting `server.reconnectTries` and `server.reconnectInterval`
to something higher.',
name: 'DisconnectedError'
}
<小时/> 发件人: http://mongoosejs.com/docs/connections.html
注意:如果启用了auto_reconnect,mongoose将在一定次数的失败后放弃尝试重新连接。设置
server.reconnectTries
和server.reconnectInterval
选项可以增加猫鼬尝试重新连接的次数。
// Good way to make sure mongoose never stops trying to reconnect
mongoose.connect(uri, { server: { reconnectTries: Number.MAX_VALUE } });