如何通过node.js设置mongodb的连接超时



以下是我在node.js中使用的连接字符串和选项,用于连接mongodb。我的web应用程序一直在尝试,如果mongodb服务器坏了,就永远不会返回。我在哪里设置连接超时,这样我就可以说数据库服务器关闭了?(当mongo服务器启动时,以下代码可以完美地工作)。

(function(database) {
    var mongodb = require("mongodb");
    database.ObjectID = mongodb.ObjectID;
    var mongoUrl = "mongodb://localhost:27017/mydb";    
    var dbconn = null;
    database.getDBConn = function(next){
        if(dbconn){ next(null, dbconn); return; } //already connected: return dbconn
        mongodb.MongoClient.connect(mongoUrl, 
        {server: {socketOptions: {connectTimeoutMS: 500}}}, function(err, database){
            if(err){ next(err, null); return; } //connection fail: return error 
            dbconn = {db: database,  
                      movies: database.collection("movie") }; 
            next(null, dbconn); //connection success: return dbconn
        }); 
    } 

})(module.exports);

查看http://mongodb.github.io/node-mongodb-native/driver-articles/mongoclient.html我会说使用

MongoClient.prototype.close

方法来检查连接是否已关闭。如果连接已关闭,则发出数据库服务器关闭的通知。

相关内容

  • 没有找到相关文章

最新更新