0

データレイヤーを抽象化するライブラリを作成しています (Mongo と Memcached を組み合わせて使用​​します)。Monk をテストしてきましたが、以下のスクリプトが終了しない理由がわかりません。

mongo = require("monk")("mongodb://#{options.mongodb.username}:#{options.mongodb.password}@#{options.mongodb.hostname}:#{options.mongodb.port}/#{options.mongodb.database}")
users = mongo.get("users")
find = users.findById 12345
find.complete (err, doc) ->
  console.dir doc
  console.dir err

を使用して実行すると、正常にドキュメントがログに返されますが、{ _id: 12345, foo: "bar" }完了しませんnode test.js。どうしてこれなの?

4

1 に答える 1

1

スクリプトが存続する理由は、MongoDB への接続がまだ開いているためです。接続を閉じる必要がある呼び出しmongo.close();を行い、イベント ループを維持するもの (ネットワーク接続、タイマーなど) が他にない場合、スクリプトは終了する必要があります。

于 2014-04-26T16:47:26.653 に答える