我正在使用Mongoose连接到MongoDB并对其执行CRUD操作。我的一个馆藏在其各个文档(记录)中有很多数据。在我的代码中,我想检查集合中是否已经存在带有特定id
字段的文档,如果存在,则可以向用户显示适当的错误。
当前,我正在使用findOne()
库中可用的Mongoose
方法。此方法(或任何其他带有前缀find
的方法)存在问题
就是它检索数据,如果存储了一大堆疯狂的数据,这将花费一些时间。
我正在寻找一种获取boolean
的结果,以指示文档是否存在,而无需实际获取整个文档本身。
答案 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
条件相同。