collection.find与回调之间有什么区别?

时间:2013-02-22 00:58:09

标签: node.js mongodb

有什么区别:

var cursor = collection.find();
//do something

collection.find(null, function(err, cursor) {
  //do something
}

第一个“阻止吗?”如果是这样,“阻止”是否意味着它将锁定节点,直到mongo返回光标?

(第一个示例来自node-mongodb-native的文档。如果他们的示例是阻止的,那么他们为什么要放入文档?)

1 个答案:

答案 0 :(得分:4)

第一个是同步的,并将阻止。如果mongo超时,您的节点服务器将无法执行任何其他操作,因此基本上“锁定”,是的。

除非在服务器初始化期间或编写命令行工具,否则应该避免这种情况。

当返回mongo的结果时,第二个将在调用回调之前处理其他事件。