有什么区别:
var cursor = collection.find();
//do something
和
collection.find(null, function(err, cursor) {
//do something
}
第一个“阻止吗?”如果是这样,“阻止”是否意味着它将锁定节点,直到mongo返回光标?
(第一个示例来自node-mongodb-native的文档。如果他们的示例是阻止的,那么他们为什么要放入文档?)
答案 0 :(得分:4)
第一个是同步的,并将阻止。如果mongo超时,您的节点服务器将无法执行任何其他操作,因此基本上“锁定”,是的。
除非在服务器初始化期间或编写命令行工具,否则应该避免这种情况。
当返回mongo的结果时,第二个将在调用回调之前处理其他事件。