【问题标题】:Is Mongoose findOne() as inefficient as MongoDB's findOne()?Mongoose findOne() 是否和 MongoDB 的 findOne() 一样低效?
【发布时间】:2019-01-15 10:29:52
【问题描述】:

有大量关于 MongoDB find() 与 findOne() 基准测试的文章。众所周知,find().limit(1) 比 findOne() 快得多。

我想知道 Mongoose 查询是否也是如此?查了源码,不是完全看懂,好像终于调用了驱动的原生findOne()。

在这种情况下,为什么在每个示例或官方代码 sn-ps 中,我看到 findOne 的使用超过了 find() 和 limit() 的组合。 我正在处理一个可能有大量并发请求的项目,因此即使是很小的性能提升也很重要。

【问题讨论】:

    标签: mongodb mongoose mongodb-query database-performance


    【解决方案1】:

    众所周知,find().limit(1) 比 findOne() 快很多

    如果您实际上从 find 查询中检索了该文档,则不是。

    查看本主题,例如:http://dba.stackexchange.com/a/7576/3817

    【讨论】:

    • 其实我只是想检查一下这个id是否已经存在。我不需要文档作为回报,只需要一个二进制真或假就足以满足我的目的。
    • @sushobhan:那么像count() 这样的东西更适合这个。不过,这超出了问题的范围。
    猜你喜欢
    • 2021-12-04
    • 2015-08-07
    • 2021-12-30
    • 1970-01-01
    • 2015-10-26
    • 2017-11-16
    • 1970-01-01
    • 2016-10-18
    • 2021-07-12
    相关资源
    最近更新 更多