6

私はMongoose3を使用していますが、データベースに接続する最も簡単な方法は次のとおりです。

conn = mongoose.createConnection(...)
conn.on("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 docsのどこかで、そのようなコールバックでモジュールを定義できないことを読んだと思いますか?


私は1つの接続しか使用していないので、使用できると思います

mongoose.connect ...

コールバックを受け入れないので、同期していると思いますか?すべてのモデルを定義して、直後にクエリを実行できconnect()ますか?現時点では機能しますが、十分に高速であることが原因である可能性があります。

4

1 に答える 1

16

Mongooseは、接続が完了するまでコマンドをバッファリングするため、同期のように扱い、モデルを定義して、いつでもライブラリの使用を開始できます。実際にデータの挿入または取得を開始する場合にのみ、接続を確立する必要があります。

于 2012-08-11T00:48:01.460 に答える