Eu estou usando o Mongoose 3 e a maneira mais óbvia de se conectar ao banco de dados é
conn = mongoose.createConnection(...)
conn.on("open", ...)
Pergunta é, eu preciso definir todos os meus modelos no retorno de chamada aberto? Se for assim, terei que criar um initMongoose.coffee
que parece
# 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?
Eu acho que li em algum lugar no Node docs que os módulos não podem ser definidos em um callback assim?
Desde que eu estou usando apenas uma conexão, eu acho que posso usar
mongoose.connect ...
Qual doesnt aceita todos os retornos de chamada assim que eu suponho que é síncrono? Posso definir todos os meus modelos e, assim, consultar logo após connect()
? Funciona no momento, mas pode ser porque é rápido o suficiente.
Respostas:
16 para resposta № 1Mongoose buffers up comandos até que esteja terminadoconectando, para que você possa tratá-lo como ele é síncrono e definir seus modelos e começar a usar a biblioteca sempre que quiser; somente quando você quiser começar a inserir ou recuperar dados de fato, é necessário fazer a conexão.