如何维护多租户数据库连接nodejs

时间:2017-06-12 11:36:53

标签: javascript node.js mongodb

我们说我有一个服务app.js.每当新客户端连接到该服务时,我们将检查是否已为该客户端建立了mongodb连接。

如果它不可用,那么我们将从配置文件中获取服务器ip,dbname,集合名称,连接到db,并回复用户。

注意:我们可以随时向客户信息添加新客户端和相应信息。 (动态地)

客户端信息ClientId:ServerIp:数据库名称:集合名称我曾尝试将mongo对象存储在数组中,因此我可以根据用户会话数据中的数据库名称重用它们。但我一直遇到循环的json错误。如何存储多租户数据库连接?

async.eachSeries(conf.clientDbs.clientsList, function(clientDetails,callback){
    console.log(clientDetails);
   mongodb.MongoClient.connect(conf.clientDbs.connection+clientDetails.dbName, function (err, database) {
        if (err) {
        console.log(err);
        process.exit(1);
        }
        // Save database object from the callback for reuse.
        var tempdbobj = {};
        tempdbobj["obj"] = database
        allDbs[clientDetails.team_id] = tempdbobj;
        console.log("Database connection ready for "+clientDetails.team_id);
        allDbs[clientDetails.team_id].obj.collection('collection_name').find({"ref_id":"111"}, function(dberr, testDoc){
            if (dberr) {
                console.log(dberr);
                callback();
            }
            else {
                console.log(testDoc);
                callback();
            }

        });
    });
});

0 个答案:

没有答案