【发布时间】:2020-04-13 14:38:45
【问题描述】:
我读过资料说 MongoDB 的 findOne() 比 find().limit(1) 慢得多,但我也听说过其他情况。当前的真相究竟是什么?
Article from March 2013: “使用 find() + limit() 明显更快,因为 findOne() 将始终读取并返回文档(如果存在)。find() 只返回一个游标(或不返回)并且只读取遍历游标时的数据。”
SE answer from 2011: “如果检索到 find().limit(1) 文档,数量级的速度差异似乎消失了。另外,我无法用 MongoDB JavaScript 驱动程序重现主要的速度差异。我最初使用 MongoDB Java 驱动程序进行基准测试。”
希望无论答案是什么,也和使用猫鼬的find().sort().limit(1)和findOne()一致。
【问题讨论】:
标签: javascript node.js performance mongodb mongoose