node.js - 带回调和不带回调的 collection.find 有什么区别?

标签 node.js mongodb

有什么区别:

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/

相关文章:

javascript - 无法读取未定义的属性 'fetch'

javascript - Node.js 中导出类的正确方法

python - 在引用字段列表上使用 only() 进行 Mongoengine 查询

javascript - 如何跟踪来自 Node 的发布请求,请求者是否收到数据

mongodb - 完成入口点脚本后停止容器

html - angularjs中未捕获的语法错误

javascript - 如何在javascript中将单引号添加到将在 Node JS中作为sql插入命令执行的字符串

javascript - Next Js 结合外部 REST API 身份验证和授权

java - 如何使用java在mongoDB中创建一对多

node.js - 查询附近纬度/经度数据库的最佳方式?