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

如何通过node.js为mongodb设置连接超时,node.js,mongodb,connection,timeout,Node.js,Mongodb,Connection,Timeout,下面是我从node.js连接到mongodb时使用的连接字符串和选项。如果mongodb服务器关闭,我的web应用程序会不断重新尝试,并且永远不会发回。我应该在哪里设置连接超时,以便在数据库服务器关闭时可以说它已关闭?当mongo服务器启动时,下面的代码可以很好地工作 (function(database) { var mongodb = require("mongodb"); database.ObjectID = mongodb.ObjectID; var mongo

下面是我从node.js连接到mongodb时使用的连接字符串和选项。如果mongodb服务器关闭,我的web应用程序会不断重新尝试,并且永远不会发回。我应该在哪里设置连接超时,以便在数据库服务器关闭时可以说它已关闭?当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);
看着我会说用

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

我仍在寻求帮助。谢谢你看。