如何使用猫鼬聚合获取嵌套在另一个数组中的数组大小

亚瑟

我的收藏中有文件

{
  _id: "8sd7f8s7df8s7df8"
  projects: [
    {
      name: inbox,
      tasks: [
        { name: 'task1' }
        { name: 'task2' }
        { name: 'task3' }
      ]
    }
  ]
}

我想通过查找文件_id并获取tasks每个内部的数量project

我写了这段aggregate代码,但得到的却是tasks整个数组的数量,projects而不是每个tasks数组的大小

User.aggregate([
  { $match: { _id: Mongoose.Types.ObjectId(userId)}},
  { $project: {
    _id: 0,
    'projects.name': 1,
    'projects.count': { $size: '$projects.tasks' }
  }}
])

我应该如何改变它以获得正确的价值?

克列丹

尝试$unwind$project管道之前先进行以下操作

User.aggregate([
    { "$match": { "_id": userId } },
    { "$unwind": "$projects" },
    { 
        "$project": {
            "_id": 0,
            "projects.name": 1,
            "projects.count": { "$size": "$projects.tasks" }
        }
    }
]).exec(callback);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

jQuery单击方法在嵌套在另一个数组中嵌套的对象中的数组上进行迭代时返回未定义

如何获取另一个数组中不存在的数组值

在嵌套在另一个数组中的数组中返回具有特定key:value对的对象-Javascript

如何在猫鼬中填充引用另一个模式的对象数组

如何转换嵌套在Postgres中另一个数组内的对象内的JSON数组?

我如何使用React渲染嵌套在另一个数组中的数组

猫鼬查询一个数组包含另一个数组中的值

如何获取不在MongoDB聚合管道中另一个数组中的数组元素?

如何访问和循环嵌套在另一个对象内部的对象中的数组?

猫鼬,更新另一个数组内的数组中的对象

如何基于存储在另一个数组中的索引获取数组的项目

从嵌套在另一个数组中的数组中删除特定记录

从猫鼬中另一个数组内部的数组中删除元素

如何在嵌套在Mongoose中另一个数组中的数组中添加元素?

如何使用数组从另一个数组中获取值?

猫鼬。如何更新包含在另一个数组中的数组元素?

Angular 6:从另一个数组中获取一个数组

更新作为嵌套在 redux 状态的另一个数组中的数组的属性的问题

无论大小如何,将一个数组放入另一个数组中 - Python

使用猫鼬返回另一个对象数组中的最后一项

从猫鼬中的另一个数组匹配数组元素/元素(至少一个)

使用另一个数组从对象数组中获取数据

如何仅在猫鼬中使用聚合填充嵌套在对象数组中的字段?

更新猫鼬文档中另一个数组内的数组中的字段

如何在另一个数组中获取数组的索引值

redux - 如何删除嵌套到另一个数组的数组中的元素

redux - 如何删除嵌套到另一个数组的数组中的元素

如何使用 stdClass 对象从另一个数组中的数组中获取值?

如何修改一个数组以获取另一个数组