如何使用 mongoose 过滤 mongodb 中的数组?

How can I filter arrays in mongodb using mongoose?

我创建了包含两个集合的数据库。这些集合中的每一个都与关系相关。 在这里我想传递一个项目 _id 并检查它是否作为外键传递给其他集合。如果通过,我想过滤所有包含 _id 的项目。我怎样才能做到这一点。这是我的猫鼬查询和数据库截图。谢谢

route.get("/:id",(req,res)=>{
Vehicles.find({
    categories: [req.params.id]
}, (err, data)=>{
    if(err){
        console.log(err);
    }else{
        console.log(data);
    }
});

PS:举个例子,我想获取类别数组中类别 ID 为“60c58c2dcf82de0780051378”的所有车辆。

在 mongo document 之后,您可以查询所有文档,其中 categories 是一个包含 objectId req.params.id 作为其元素之一的数组。

Vehicles.find({
  categories: req.params.id,
}, (err, data) => {
  if (err) {
    console.log(err);
  } else {
    console.log(data);
  }
});