不按主id搜索mongoDB

  • 本文关键字:搜索 mongoDB id mongodb
  • 更新时间 :
  • 英文 :


我有一个通知集合,里面有这样的文档:

id: 6253ec60facb2ee68475510e;
companyId: 6253asdsad0facb2ee68475510e;
workStatus: true

id: 6253ec60abcb2ee68475510e;
companyId: 6253ec60afva2ee68475510e;
workStatus: true

我想按公司id而不是id搜索文档。当我这样做时:

const notification = await Notification.findById(req.params.companyId); 

它正在按id(主id(进行搜索。

我是编程新手。有人能帮我吗?

您正在使用findById,它会根据ID查找文档您应该使用findOne()

const notification = await Notification.findOne({companyId: req.params.companyId}); 

findById((函数用于通过_id字段查找单个文档。您可以使用find((或findOne((并传递companyId字段。

find((和findOne((的区别在于,如果查询匹配,findOne(((将返回第一个文档,否则返回null。find((方法不返回null,而是返回一个游标。

例如,写这样的东西:

await Notification.find({ companyId: req.params.companyId }).exec();

最新更新