多个mongoDB数据源,怎么配置动态切换?
1个回答
2015-08-26 · 知道合伙人软件行家
Axure夜话
知道合伙人软件行家
向TA提问 私信TA
知道合伙人软件行家
采纳数:1197
获赞数:1344
1992年毕业于太原理工大学,20年IT公司工作经验现任山西誉海和科技有限公司技术总监,老二牛车教育课程总监
向TA提问 私信TA
关注
展开全部
1:配置多个数据连接,如下
dbUrl = 'mongodb://'+configs.dbconfig.dbmongodbhealth.host+':'
+ configs.dbconfig.dbmongodbhealth.port.toString() +'/'+configs.dbconfig.dbmongodbhealth.dbname ;
var healthdbtoptions = {db: {},
server: { poolSize: 5 , auto_reconnect:true } ,
replSet: {},
mongos: {}
} ;
MongoClient.connect(dbUrl,healthdbtoptions ,function(err, database) {
if(err) throw err;
dbs.healthdb = database ;
console.info(dbUrl + " open ok healthdb");
//
});
2:调用数据访问的时候动态传递要使用的链接
var publicdb = opts.dbs.publicdb ;
--------------
exports.getAreaByPcodeAsync = function(opts){
var results = {error_code:-1,error_msg:"error"} ;
var bbPromise = opts.dbs.bbpromise ;
var collectionName = "D10002";
var publicdb = opts.dbs.publicdb ;
var filter = {pcode:opts.area.pcode}
return publicdb.collection(collectionName).find(filter).toArrayAsync().
then(function(areas){
var selectArray = [];
});
};
dbUrl = 'mongodb://'+configs.dbconfig.dbmongodbhealth.host+':'
+ configs.dbconfig.dbmongodbhealth.port.toString() +'/'+configs.dbconfig.dbmongodbhealth.dbname ;
var healthdbtoptions = {db: {},
server: { poolSize: 5 , auto_reconnect:true } ,
replSet: {},
mongos: {}
} ;
MongoClient.connect(dbUrl,healthdbtoptions ,function(err, database) {
if(err) throw err;
dbs.healthdb = database ;
console.info(dbUrl + " open ok healthdb");
//
});
2:调用数据访问的时候动态传递要使用的链接
var publicdb = opts.dbs.publicdb ;
--------------
exports.getAreaByPcodeAsync = function(opts){
var results = {error_code:-1,error_msg:"error"} ;
var bbPromise = opts.dbs.bbpromise ;
var collectionName = "D10002";
var publicdb = opts.dbs.publicdb ;
var filter = {pcode:opts.area.pcode}
return publicdb.collection(collectionName).find(filter).toArrayAsync().
then(function(areas){
var selectArray = [];
});
};
追问
那请问在applicationContext.xml里怎么配置动态的mongoTemplate?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询