mongoose多个连接_javascript

//config.json

{

"Tenants": {

"5c061f432c9e9e499325b": {

"dbConfig": "mongodb://admin:Password@IP/DBname",

"dbName": "DBname",

},

"5c0432ebabb6c9e9e499325b": {

"dbConfig": "mongodb://admin:Password@IP/DBname",

"dbName": "DBname",

},

"5c061f43bb6c9e9e499325b": {

"dbConfig": "mongodb://admin:Password@IP/DBname",

"dbName": "DBname",

}

},

}

//ModelFactory.js

var mongoose = require("mongoose");

var models = [];

var conns = [];

var path = __dirname + "\\models";

var config = require("config");

function factory(tenant) {

let dbName = config.get("Tenants." + tenant + ".dbName");

let dbConnection = config.ge`enter code here`t("Tenants." + tenant + ".dbConfig");

if (conns[dbName]) {

} else {

conns[dbName] = mongoose.createConnection(dbConnection);

}

if (models[dbName]) {

} else {

var instanceModels = [];

var schemas = ["users","products"];

schemas.forEach(function (models) {

instanceModels[models] = conns[dbName].model(models, require([path, models].join("\\")));

});

// DB name and tenant ID also pushing in the same object

//instanceModels["tenantID"] = tenant;

//instanceModels["db"] = conns[dbName];

models[dbName] = instanceModels;

}

return models[dbName];

}

module.exports = factory;

// API端点

exports.users = function (req, res) {

var models = modelFactory(req.headers.tenantid);

models.User.find() //query

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值