首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从嵌套的obejcts聚合数组中创建一个对象数组?

如何从嵌套的obejcts聚合数组中创建一个对象数组?
EN

Stack Overflow用户
提问于 2022-04-07 04:44:17
回答 1查看 42关注 0票数 0

我对Mongodb并不熟悉,也不太了解聚合,如何将对象下面的内容更改为所需的单个对象数组。

代码语言:javascript
复制
[
  {
    id: "1",
    title: "First Title",
    des: "This is desc",
    contents: [
      {
        id: "1",
        title: "content-1 title",
        des: "This is desc"
      },
      {
        id: "2",
        title: "Content-2 title",
        des: "This is desc"
      }
    ]
  },
  {
    id: "2",
    title: "Second Title is Here",
    des: "This is desc",
    contents: [
      {
        id: "1",
        title: "content-1 title",
        des: "This is desc"
      },
      {
        id: "2",
        title: "Content-2 title",
        des: "This is desc"
      }
    ]
  }
]

我想要的单一数组:

代码语言:javascript
复制
[
  {
    id: "1",
    title: "First Title",
    des: "This is desc"
  },
  {
    id: "1",
    title: "content-1 title",
    des: "This is desc"
  },
  {
    id: "2",
    title: "Content-2 title",
    des: "This is desc"
  },
  {
    id: "2",
    title: "Second Title is Here",
    des: "This is desc"
  },
  {
    id: "1",
    title: "content-1 title",
    des: "This is desc"
  },
  {
    id: "2",
    title: "Content-2 title",
    des: "This is desc"
  }
]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-07 05:02:08

代码语言:javascript
复制
db.collection.aggregate([
  {
    $set: {
      contents: {
        $concatArrays: [
          [
            {
              id: "$id",
              title: "$title",
              des: "$des"
            }
          ],
          "$contents"
        ]
      }
    }
  },
  {
    $unwind: "$contents"
  },
  {
    $replaceWith: "$contents"
  }
])

蒙古操场

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71776439

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档