如何在不检索的情况下检查文档是否存在:猫鼬

时间:2019-01-28 10:00:20

标签: javascript node.js mongoose

我正在使用Mongoose连接到MongoDB并对其执行CRUD操作。我的一个馆藏在其各个文档(记录)中有很多数据。在我的代码中,我想检查集合中是否已经存在带有特定id字段的文档,如果存在,则可以向用户显示适当的错误。

当前,我正在使用findOne()库中可用的Mongoose方法。此方法(或任何其他带有前缀find的方法)存在问题 就是它检索数据,如果存储了一大堆疯狂的数据,这将花费一些时间。

我正在寻找一种获取boolean的结果,以指示文档是否存在,而无需实际获取整个文档本身。

2 个答案:

答案 0 :(得分:1)

或者您可以使用countDocuments()来检查查询中的文档数?这只会计算数字而不是返回数字。

答案 1 :(得分:0)

findOne()中输入密码ID

使一个通用功能。

const objectID = require('mongodb').ObjectID
getMongoObjectId(id) {   
    return new objectID(id)
}

现在只需调用函数

findOne({_id:common.getMongoObjectId('ID value hear')})

它将与mysql中的where条件相同。