首页 > 解决方案 > 获取按id聚合框架mongodb分组的多个字段的总和

问题描述

我有一个有多个订单的数据库,它们是不同的,

第一次聚合后,我的结果如下所示:

_id: "5000001",
status: "cancelled",
date: "2021-08-27T06:54:48.000Z",
referring_site: "www.facebook.com",
line_items: {
sku: "350000",
quantity: 1
},
__v: 0
},
{
_id: "5000001",
status: "cancelled",
date: "2021-08-27T06:54:48.000Z",
referring_site: "www.google.gr",
line_items: {
sku: "350000",
quantity: 1
},
__v: 0
},
{
_id: "5000002",
status: "cancelled",
date: "2021-08-27T07:03:31.000Z",
referring_site: "www.google.gr",
line_items: {
sku: "352000",
quantity: 2
},
__v: 0
},
{
_id: "5000002",
status: "cancelled",
date: "2021-08-27T07:03:31.000Z",
referring_site: "www.facebook.com",
line_items: {
sku: "352000",
quantity: 2
},
__v: 0
}  

我想要的结果是:

{ sku : 352000,
  "www.facebook.com" : 3,
  "www.google.gr" : 5,
},
{ sku : 350000,
  "www.facebook.com" : 3,
  "www.google.gr" : 5,
}

我怎样才能做到这一点?

在排序中,我有一个订单集合,其中包含 SKU、QTY 和引用站点的订单。

我只想从查询中返回带有 QTY 的引用站点的 SKU,如上例所示。

标签: mongodbmongodb-queryaggregation-frameworkaggregate

解决方案


推荐阅读