Mongodb与nodejs的连接

时间:2016-07-30 19:45:04

标签: node.js mongodb mongoose database-connection database

我是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:我试图为此解决问题,但无法获得正确的解决方案(或)我可能会使用不正确的关键字进行搜索!

1 个答案:

答案 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.reconnectTriesserver.reconnectInterval选项可以增加猫鼬尝试重新连接的次数。

// Good way to make sure mongoose never stops trying to reconnect

mongoose.connect(uri, { server: { reconnectTries: Number.MAX_VALUE } });