我正在编写一个库来抽象我的数据层(它将使用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
运行时未成功完成。这是为什么?
答案 0 :(得分:1)
脚本保持活动的原因是因为与MongoDB的连接仍然是打开的。如果你打电话给mongo.close();
应该关闭连接并且你没有其他任何东西保持事件循环活着(例如网络连接,定时器等),那么你的脚本应该终止。