小编Dot*_*arp的帖子

如何通过比较表示层次结构/关系的元素属性来重新映射/过滤嵌套数组的元素?

认为这可能与这个问题有点类似:如何在嵌入式数组文档中使用图形查找聚合,但始终没有答案,我也没有发表评论以查看作者是否找到解决方案的声誉。

尽管该集合将包含成千上万的文档,但是在查询时我只会被其中的1个约束。当前的目的是使用一个初始$match阶段,该阶段将产生一个文档。

样本文件

{
  attrA: 'foo',
  attrB: 'bar',
  versions: [
    {
      status: "live",
      things: [
        {
          key: "thing_1",
          parent: null
          slug: "thing-1-slug"
        },
        {
          key: "thing_2",
          parent: "thing-1-slug",
          slug: "thing-2-slug"
        },
        {
          key: "thing_3",
          parent: "thing-2-slug",
          slug: "thing-3-slug"
        },
        {
          key: "thing_4",
          parent: null,
          slug: "thing-4-slug"
        },
        {
          key: "thing_5",
          parent: "thing-2-slug",
          slug: "thing-5-slug"
        },
        {
          key: "thing_6",
          parent: "thing-4-slug",
          slug: "thing-6-slug"
        },
        {
          key: "thing_7",
          parent: null,
          slug: "thing-7-slug"
        }
      ]
    },
    { …
Run Code Online (Sandbox Code Playgroud)

mongodb mongodb-query aggregation-framework

5
推荐指数
1
解决办法
102
查看次数