mongoose连接/模型:需要始终运行在打开?

我正在使用Mongoose 3,最明显的方式连接到数据库是

conn = mongoose.createConnection(...) conn.on("open", ...) 

问题是,我是否需要在公开callback中定义所有模型? 如果是这样,我将不得不创build一个initMongoose.coffee ,看起来像

 # initMongoose.coffee mongoose = require "mongoose" module.exports = mongoose.createConnection ... # modelExample.coffee conn = require "./initDatabase" conn.on "open", -> ... define model? modeule.exports = model # I think this does not work? 

我想我在Node docs的某个地方阅读,模块不能在像这样的callback中定义?


由于我只使用1个连接,我想我可以使用

 mongoose.connect ... 

哪个不接受任何callback,所以我想是同步? 我可以定义所有的模型,然后connect()后查询吗? 它目前是有效的,但可能是因为它足够快。

Mongoosecaching命令,直到完成连接,所以你可以把它看作是同步的,并定义你的模型,并随时开始使用库; 只有一次你想要开始实际插入或检索数据,你需要进行连接。