我刚刚从Mongoose 3迁移到5.1.5并且遇到了一些问题。我有一个nodejs应用程序正在运行,尝试连接到不同主机上的多个DB。
Connection.js文件:用于维护连接。
我正在将我的连接导出到我的模型并绑定模式
Connection.js 文件
const mongoose = require('mongoose');
const Mongoose = mongoose.Mongoose;
mongoose.Promise = require('bluebird');
-
const _connect = function (mongoUrl, options) {
mongoose.connect(mongoUrl, options).then(
() => { console.log('MongoDB Connected.'); },
err => { console.log('MongoDB not Connected.'); }
);
}
module.exports = {
conn1: new Connection('DB1'),
conn2: new Connection('DB2')
};
在 model.js
中我创建了不同的模型,每个模型都保存为不同的文件。
const mongoose = require('mongoose');
const connections = require('./Connections');
const schema = new mongoose.Schema(model);
if (fileName.toLowerCase().includes('db2')) {
connections.conn2.model(fileName, schema);
} else {
connections.conn1.model(fileName, schema);
}
整个设置在3.x中正常工作,但在5.1.5中,我遇到了问题 “ connections.conn1.model不是函数”
为了测试整个场景,我评论了一个连接并在Connection.js中给出了我的导出:
module.exports = {
mongoose: new Connection('DB1'),
};
并且在model.js中我只是
mongoose.model(fileName, schema);
完美无缺。请让我知道我做错了什么。