首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Mongodb中解开两个数组,并清晰地投影它们?

如何在Mongodb中解开两个数组,并清晰地投影它们?
EN

Stack Overflow用户
提问于 2020-02-03 14:28:31
回答 1查看 27关注 0票数 1

我想在一个文档中展开两个数组。现在,我想像下面提到的那样,使用定义其类型的额外字段来分别投影它们。假设如果它是清洗的,则类型应定义为清洗,如果安装了,则类型应定义为已安装

该文档的格式如下:

代码语言:javascript
复制
    {
"install":["Date1"]
"wash": ["Date1", "Date2", "Date3"]
}

我想要的输出如下:

代码语言:javascript
复制
{
"install": "Date1"
"type": "install"
},
{
"wash": "Date1",
"type": "wash"
},
{
"wash": "Date2",
"type": "wash"
},
{
"wash": "Date3",
"type":"wash"
}
EN

回答 1

Stack Overflow用户

发布于 2020-02-03 23:29:28

此聚合返回所需的结果:

代码语言:javascript
复制
db.test.aggregate( [
  { 
      $facet: {
          install: [
              { $unwind: "$install" },
              { $project: { type: "install", install: 1, _id: 0 } }
          ],
          wash: [
              { $unwind: "$wash" },
              { $project: { type: "wash", wash: 1, _id: 0 } }
          ]
      } 
  },
  {
      $project: { result: { $concatArrays: [ "$install", "$wash" ] } }
  }
] )
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60034108

复制
相关文章

相似问题

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