0

有什么区别:

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

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

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

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

4

1 回答 1

4

第一个是同步的,并且会阻塞。如果 mongo 超时,您的节点服务器将无法做任何其他事情,所以基本上“锁定”,是的。

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

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

于 2013-02-22T01:03:17.930 回答