检查 mongodb 文档是否存在的最快方法是什么?
我是否应该只使用 find,如果它什么也没返回?
编辑:
collection.findOne {#attribute}, (err, doc) ->
if err then console.log err
if interaction
#exists
else
#does not
最佳答案
如果您只是测试单个文档,请使用findOne
(或您的驱动程序中的等效项);大多数驱动程序以最有效的方式实现这一点(通过在请求上设置负限制 1,这要求 mongo 在找到一个文档后立即返回,即使更多可能匹配,并且不会创建永远不会的游标供客户使用)。
如果您有一个可以为您的查询服务的索引,您可以使用 field selection选择索引中的字段(的子集);这将利用 Mongo 的“覆盖索引”功能来避免查找底层集合数据。请务必在您的字段选择器中设置 {_id: 0}
,除非 _id
在您的索引中。
关于javascript - 检查 mongodb 文档是否存在的最快方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7577890/