MEAN申请中的租约

时间:2017-02-05 09:36:03

标签: node.js mongodb express mongoose mean-stack

我正在尝试在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不是函数

感谢。

1 个答案:

答案 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' }
}));