首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分组依据并保留原始字段

分组依据并保留原始字段
EN

Stack Overflow用户
提问于 2020-09-18 22:42:19
回答 1查看 23关注 0票数 0

我看到在mongodb聚合中,特别是在$group中,我们可以使用累加器来创建新字段。但我想要旧钥匙

假设我有这样的数据

代码语言:javascript
复制
[
   { name: "My Plan 101", billingCycle: 'day', amount: 1, credits: 100, price: 7 },
   { name: "My Plan 102", billingCycle: 'day', amount: 1, credits: 150, price: 10 },
   { name: "My Plan 103", billingCycle: 'day', amount: 2, credits: 150, price: 15 },
   { name: "My Plan 104", billingCycle: 'month', amount: 3, credits: 150, price: 15 },
   { name: "My Plan 105", billingCycle: 'month', amount: 3, credits: 200, price: 20 },
]

那么聚合应该是这样的

代码语言:javascript
复制
[
    'day': { 
        '1': [{ name: 'My Plan 101' }, { name: 'My Plan 102' }],
        '2': [{ name: 'My Plan 103' }]
    },
    'month': {
        '3': [{ name: 'My Plan 104' }, { name: 'My Plan 105' }]
    }
]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-22 00:50:56

我尝试了很多mongodb聚合,但是不能解决这个问题,所以我使用了lodash。

代码语言:javascript
复制
let plans = await Plan.find()
plans = _.groupBy(plans, 'billingCycle');

for (const billingCyle in plans) {
  let $plans = plans[billingCyle];
  plans[billingCyle] = _.groupBy($plans, "amount")
}
console.log(plans)

上面的片段解决了我的问题

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

https://stackoverflow.com/questions/63957891

复制
相关文章

相似问题

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