Javascript 检查mongodb文档是否存在的最快方法是什么?

Javascript 检查mongodb文档是否存在的最快方法是什么?,javascript,mongodb,node.js,Javascript,Mongodb,Node.js,检查mongodb文档是否存在的最快方法是什么 我应该使用find吗?如果它不返回任何内容 编辑: collection.findOne {#attribute}, (err, doc) -> if err then console.log err if interaction #exists else #does not 如果您只是测试单个文档,请在驱动程序中使用findOne或同等版本;大多数驱动程序以最有效的方式实现这一点

检查mongodb文档是否存在的最快方法是什么

我应该使用find吗?如果它不返回任何内容

编辑:

collection.findOne {#attribute}, (err, doc) ->

    if err then console.log err

    if interaction
        #exists
    else
        #does not

如果您只是测试单个文档,请在驱动程序中使用findOne或同等版本;大多数驱动程序以最有效的方式实现这一点,方法是在请求上设置负限制1,这要求mongo在找到一个文档后立即返回,即使有更多文档可能匹配,并且不要创建客户端永远不会使用的游标


如果您有一个索引可以为您的查询服务,则可以使用来选择索引中字段的子集;这将利用Mongo的covered index功能避免查找底层集合数据。确保在字段选择器中设置{u id:0},除非{u id在索引中。

覆盖索引是您想要的。如果您知道的有关文档的信息已编入索引,那么您可以使用此功能仅在RAM中从索引中查询和检索信息,而不会转到磁盘以获取参考文档


NumberReturn:限制查询的第一条CONTRIB:OP_回复消息中的文档数。但是,如果结果多于numberToReturn,数据库仍将建立游标并将游标ID返回给客户端。如果客户机驱动程序提供“limit”功能,如SQL limit关键字,则由客户机驱动程序确保返回给调用应用程序的文档不超过指定数量。如果numberToReturn为0,则db将使用默认的返回大小。如果数字为负数,则数据库将返回该数字并关闭光标。无法获取该查询的进一步结果。如果numberToReturn为1,服务器会将其视为-1自动关闭光标。

您知道关于文档db.collectiond.find{u index:value}的任何信息吗?或者您想知道集合db.collection.findOne、db.collection.count中是否有一个或多个文档?是的,我知道有关该文档的信息。我很惊讶没有更明确的方法来查询文档的存在;我也有同样的问题。看起来,检查文档是否在收集中一定会出现很多问题,而且要求获取文档和任何最小字段都很奇怪。