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 回答