为什么我的Node脚本没有退出? (利用和尚)

时间:2014-04-26 16:32:18

标签: node.js mongodb monk

我正在编写一个库来抽象我的数据层(它将使用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运行时未成功完成。这是为什么?

1 个答案:

答案 0 :(得分:1)

脚本保持活动的原因是因为与MongoDB的连接仍然是打开的。如果你打电话给mongo.close();应该关闭连接并且你没有其他任何东西保持事件循环活着(例如网络连接,定时器等),那么你的脚本应该终止。