首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >蒙哥集团下降4级

蒙哥集团下降4级
EN

Stack Overflow用户
提问于 2021-10-20 21:32:35
回答 1查看 51关注 0票数 1

游乐场

我有一个有4个道具的单子。我希望结果是:

代码语言:javascript
复制
ProjectName
   PartnerName
      Date
         Time1
         Time2
         Time3

例如。

代码语言:javascript
复制
PROJECT-AA
   PART-AA
      2021-01-01 
           21:00:00
           22:00:00
      2021-01-02 
           21:00:00
   PART-BB
       2021-01-01
           21:00:00

我可以分组第一层,并添加道具到一个新的道具与$push,但在那之后,我不能分组的下一个级别。

我怎样才能让搭档把时间连在一起呢?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-20 23:53:51

对于您的情况,只需使用2 $group即可。

  1. $group"ProjectName, PartnerName, Date$push Time在里面。
  2. $group"ProjectName, PartnerName$push Date, Time在里面。
  3. $groupProjectName$push PartnerName, DateTime在里面。然后,您可以继续将数据转换为预期的表单。
代码语言:javascript
复制
db.collection.aggregate([
  {
    "$group": {
      "_id": {
        "ProjectName": "$ProjectName",
        "PartnerName": "$PartnerName",
        "Date": "$Date"
      },
      Time: {
        $push: "$Time"
      }
    }
  },
  {
    "$group": {
      "_id": {
        "ProjectName": "$_id.ProjectName",
        "PartnerName": "$_id.PartnerName"
      },
      DateTime: {
        $push: {
          Date: "$_id.Date",
          Time: "$Time"
        }
      }
    }
  },
  {
    "$group": {
      "_id": "$_id.ProjectName",
      partner: {
        $push: {
          PartnerName: "$_id.PartnerName",
          DateTime: "$DateTime"
        }
      }
    }
  }
])

这是供您参考的蒙戈游乐场

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

https://stackoverflow.com/questions/69653275

复制
相关文章

相似问题

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