首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何按月获得数量?

如何按月获得数量?
EN

Stack Overflow用户
提问于 2021-06-22 15:19:37
回答 1查看 23关注 0票数 0

我想从数据库中建立融洽关系。有一个存储订单的数据库。每条记录如下:

代码语言:javascript
复制
{
  "_id": {
    "$oid": "5ec7916eff6e89814722n4y8"
  },
  "detais": [
    {
      "name": "Hood",
      "quantity": 2 
    },
    {
      "name": "Tire",
      "quantity": 4
    },
    {
      "name": "Door",
      "quantity": 4
    },
    {
      "name": "Headlights",
      "quantity": 3
    }
  ],
  "date": {
    "$date": "2004-09-29T10:37:45Z"
  },
  "_class": "com.carShop.Order"
}

我需要得到每个细节的数据,按月得到他们的号码如下:

代码语言:javascript
复制
  [
             {
            "date": "2004-09",
             "detais": [
                     {
                       "name": "Hood",
                       "quantity": 12 
                     },
                     {
                       "name": "Tire",
                       "quantity": 43
                     },
                     ...
                      ]
             },
         {
             "date": "2004-10",
             "detais": [
                     {
                       "name": "Hood",
                       "quantity": 2 
                     },
                     {
                       "name": "Tire",
                       "quantity": 15
                     },
                     ...
                      ]
             },
         ....
         ]

任何需要帮助的人。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-22 15:41:33

试试这个:

代码语言:javascript
复制
db.collection.aggregate([
  {
    $group: {
      _id: { y: { $year: "$date" }, m: { $month: "$date" } },
      detais: { $push: "$detais" }
    }
  },
  {
    $set: {
      date: {
        $dateFromParts: {
          "year": "$_id.y",
          "month": "$_id.m",
          "day": 1
        }
      }
    }
  }
])

请参阅蒙戈游乐场

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

https://stackoverflow.com/questions/68086316

复制
相关文章

相似问题

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