mongodb - 获取按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,如上例所示。
解决方案
推荐阅读
- jenkins - Jenkins 声明式管道 - 从另一个 Jenkinsfile 触发 Jenkinsfile
- swift - 在 Kotlin Multiplatform 中使用 Swift 协议默认实现
- javascript - 如何制作悬停圆形菜单以使用 javascript 进行切换?
- azure-functions - Azure 搜索,例如 Azure Function 的调度
- r - 如何使用R从列中提取文本
- sql - 返回具有最大日期的行
- flutter - 卡片内的 Flutter 布局
- python - 学校的 Wack-A-Mole - Python
- c# - 检测触摸何时在 UI 元素上
- loops - VBScript - 如何使用 Sendkeys 而不使我的计算机循环和崩溃?