将mongoose连接导出到我的model.js文件

时间:2018-06-16 19:14:24

标签: node.js mongoose mongoose-schema

我刚刚从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);

完美无缺。请让我知道我做错了什么。

0 个答案:

没有答案