【发布时间】:2017-02-11 02:25:25
【问题描述】:
我想从order 集合中按user_id 分组,其中有很多条目,但我想获取下达更多订单的前 5 名用户,并对特定用户的总价格求和。
例如,如果我下了 10 个订单,我想获取我的 ID 和所有订单的总和。 我使用了下面的代码,但它不起作用:
Order.find({$group : { user_id : "$user_id"}},function(error,fetchAllTopUsers){
console.log('##################');
console.log(fetchAllTopUsers);
})
我已经检查了这个例子,但他们没有使用 $group 的 find。我是 Node.js 和 MongoDB 的新手。
Query and sum all with mongoose
示例文档
{ user_id : '57c7f4312b3c9771219bd21c', totalprice : 100 },
{ user_id : '57c7f4312b3c9771219bd21c', totalprice : 59 },
{ user_id : '57c7f4312b3c9771219bd21c', totalprice : 26 },
{ user_id : '57c7f4312b3c9771219bd21c', totalprice : 533 },
{ user_id : '57c7f4312b3c9771219bd21c', totalprice : 544 },
{ user_id : '57efb93fdc78c816a3a15c4a', totalprice : 250 },
{ user_id : '57efb93fdc78c816a3a15c4a', totalprice : 157 },
{ user_id : '57efb93fdc78c816a3a15c4a', totalprice : 149 },
{ user_id : '57efb93fdc78c816a3a15c4a', totalprice : 104 }
我期待如下输出:
{
user_id : '57c7f4312b3c9771219bd21c',
finalTotal : 1262
},
{
user_id : '57efb93fdc78c816a3a15c4a'
finalTotal : 660
}
【问题讨论】:
-
好的,我来添加表格数据。
标签: node.js mongodb mongoose aggregation-framework mongodb-aggregation