【问题标题】:how to set connection timeout for mongodb thru node.js如何通过 node.js 为 mongodb 设置连接超时
【发布时间】:2014-06-13 00:30:39
【问题描述】:

以下是我使用 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);

【问题讨论】:

  • 我仍在寻求帮助。感谢您的观看。

标签: node.js mongodb connection timeout


【解决方案1】:

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

MongoClient.prototype.close

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-04
    • 1970-01-01
    • 2023-04-10
    • 2014-07-28
    • 2014-11-18
    • 2017-08-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多