MEAN 应用程序中的租赁

Tenancy in MEAN Application

我正在尝试在 MEAN 中创建一个多租户应用程序,基于某个变量的值,它应该选择一个 mongoDB 连接形式的连接池并对集合执行 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 不是函数

谢谢。

您正在将 mongodb API 与 mongoose 混合使用。

由于您正在使用 mongoose,您可以创建附加到特定连接的模型:

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