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' }
}));
我正在尝试在 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' }
}));