我正在尝试在MEAN中创建一个多租户应用程序,基于某个变量的值,它应该选择mongoDB Connection表单连接池并对集合执行CURD操作。
var mongoose = require('mongoose');
var connectionPool = {};
connectionPool['dbName1'] = mongoose.createConnection('mongodb://localhost/database1');
connectionPool['dbName2'] = mongoose.createConnection('mongodb://localhost/database2');
connectionPool['dbName3'] = mongoose.createConnection('mongodb://localhost/database3');
当用于进行CURD操作时,问题是连接对象无效。
错误 - db.collection(...)。find(...)。exec不是函数
感谢。
答案 0 :(得分:1)
您正在将mongodb
API与mongoose
混合使用。
由于您正在使用mongoose
,因此您可以创建附加到特定连接的模型:
https://stackoverflow.com/a/19475270/2013580
var conn = mongoose.createConnection('mongodb://localhost/testA');
var conn2 = mongoose.createConnection('mongodb://localhost/testB');
// stored in 'testA' database
var ModelA = conn.model('Model', new mongoose.Schema({
title : { type : String, default : 'model in testA database' }
}));
// stored in 'testB' database
var ModelB = conn2.model('Model', new mongoose.Schema({
title : { type : String, default : 'model in testB database' }
}));