我问这个问题是明智的 - 知道有一个带有id
.
MyCollection.find({_id: id}) //this should return only one document - id is unique
对比
MyCollection.findOne({_id: id}) //this is equivalent to .find({_id: id}).limit(1) from what I've read
我的第一个想法是,无论过滤器如何,.find
都必须通过集合,因此在.findOne
我只想检索一个文档的情况下速度更快,对吗?或者也许因为_id
总是被索引,也许没有区别?
我不是在问函数的输出,这是一个优化/性能问题。
在这种特殊情况下,没有性能差异(因为唯一索引,是的)。
可能存在响应形状差异。我对 mongoose 不熟悉,但在 mongodb shell 中,find()
返回一个游标(立即枚举)并findOne()
直接返回文档。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句