使用MongoDB聚合框架获取嵌套文档链

时间:2014-01-14 08:32:36

标签: mongodb

假设有一个文档,其中包含一个文档数组,每个文档又包含一个文档数组,例如

{_id: 1, level1: [
  {_id: 10, level2: [
    {_id: 100},
    {_id: 101},
    {_id: 102},
  ]},
  {_id: 11, level2: [
    {_id: 103},
    {_id: 104},
    {_id: 105},
  ]},
  {_id: 12, level2: [
    {_id: 106},
    {_id: 107},
    {_id: 108},
  ]}
]}

并且我想搜索一些内部(第三级)文档的_id = 101。我想在一个结果中得到内部文件和所有封闭文件,即

{
  doc1: {_id: 1, level1: [
          {_id: 10, level2: [
            {_id: 100},
            {_id: 101},
            {_id: 102},
          ]},
          {_id: 11, level2: [
            {_id: 103},
            {_id: 104},
            {_id: 105},
          ]},
          {_id: 12, level2: [
            {_id: 106},
            {_id: 107},
            {_id: 108},
          ]}
        ]},

  doc2: {_id: 10, level2: [
          {_id: 100},
          {_id: 101},
          {_id: 102},
        ]},

  doc3: {_id: 101}
}

是否可以使用聚合框架实现这一目标?

0 个答案:

没有答案
相关问题