Соединение/модели Mongoose :Нужно всегда запускать при открытии?

Я использую Mongoose 3, и наиболее очевидный способ подключения к базе данных —

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

Вопрос в том, нужно ли мне определять все мои модели в обратном вызове open? Если это так, мне придется создать 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, что модули не могут быть определены в таком обратном вызове?


Поскольку я использую только одно соединение, я думаю, что могу использовать

mongoose.connect...

Который не принимает никаких обратных вызовов, поэтому я полагаю, что он синхронный? Могу ли я определить все свои модели и, следовательно, запросы сразу после connect()? На данный момент это работает, но это может быть потому, что он достаточно быстрый.

6
задан Jiew Meng 11 August 2012 в 00:29
поделиться