【问题标题】:How can I filter arrays in mongodb using mongoose?如何使用 mongoose 过滤 mongodb 中的数组?
【发布时间】:2021-06-13 14:39:31
【问题描述】:

我创建了包含两个集合的数据库。这些集合中的每一个都与关系相关联。 在这里,我想传递一个项目 _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”的车辆。

【问题讨论】:

  • 你能分享一个来自这两个集合的示例 JSON 数据吗?
  • @hhharsha36 我用新的 ss 更新了问题。你能检查一下吗?
  • 请以 JSON 格式分享示例输入,而不是屏幕截图和预期输出。它很难通过截图参考来解释。

标签: node.js mongodb express mongoose mongoose-schema


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2020-12-08
    • 1970-01-01
    • 2020-08-11
    • 1970-01-01
    • 2020-10-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-25
    • 2018-01-26
    相关资源
    最近更新 更多