有什么区别:
var cursor = collection.find();
//do something
和
collection.find(null, function(err, cursor) {
//do something
}
第一个是否“阻塞”?如果是这样,“阻塞”是否意味着它将锁定 Node 直到 mongo 返回游标?
(第一个示例来自 node-mongodb-native 的文档。如果他们的示例是阻塞的,那么他们为什么要放入文档中?)
最佳答案
第一个是同步的,并且会阻塞。如果 mongo 超时,您的 Node 服务器将无法执行任何其他操作,因此本质上是“锁定”,是的。
应该避免这种情况,除非在服务器初始化期间或编写命令行工具。
第二个将在 mongo 返回结果时调用回调之前处理其他事件。
关于node.js - 带回调和不带回调的 collection.find 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15015101/