Node.js 平均租赁
我试图创建一个多租户应用程序,根据某个变量的值,它应该从连接池中选择一个mongoDB连接,并对集合执行CURD操作Node.js 平均租赁,node.js,mongodb,express,mongoose,mean-stack,Node.js,Mongodb,Express,Mongoose,Mean Stack,我试图创建一个多租户应用程序,根据某个变量的值,它应该从连接池中选择一个mongoDB连接,并对集合执行CURD操作 var mongoose = require('mongoose'); var connectionPool = {}; connectionPool['dbName1'] = mongoose.createConnection('mongodb://localhost/database1'); connectionPool['dbName2'] = mongoos
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
,因此可以创建附加到特定连接的模型:
我试图动态添加一个租户,有办法吗?@utkarshsharma你可以动态添加所有这些。只要在每个连接中设置模型定义,就可以基于连接参数构建一个函数来实现这一点。
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' }
}));