为什么使用mongoose.connect连接到数据库时未导入模型?

时间:2018-05-21 13:25:42

标签: node.js mongoose

当我使用以下代码连接到我的MongoDb实例时

var MongoDbConnection = null;
var databaseUrl = "xxxxx";

mongoose.connect(databaseUrl);
mongoose.connection.once('open', onDatabaseConnectionOpen);
mongoose.connection.on('error', onDatabaseConnectionError);

function onDatabaseConnectionOpen() {
    MongoDbConnection = mongoose.connection;
    console.log(mongoose);
    console.log(mongoose.connection);
}

function onDatabaseConnectionError(err) {
    console.log("Error connecting to MongoDb database");
    console.log(err);

}

models中的mongoose属性是一个空对象{}

架构和模型已在不同的存储库中初始化。我的期望是,通过连接到数据库,我也可以获取模型(以进一步查询数据库)。

当我在代码开头添加以下行

const Model1 = require('./models/Model1.js')
const Model2 = require('./models/Model2.js')
const Model3 = require('./models/Model3.js')
const Model4 = require('./models/Model4.js')

各个模型和模式显示在mongoose.connection对象中。

Model1.js的示例

var mongoose        =   require('mongoose');
var Schema          =   mongoose.Schema;

var model1Schema = new Schema({

    prop1: String,
    prop2: String,
    prop3: String

});

module.exports = mongoose.model('model1', model1Schema);

使用mongoose.connect连接数据库时是否有加载模型和模式的方法,或者我是否需要要求此文件中的模型进行数据库查询?

0 个答案:

没有答案