Я хочу сгруппировать по user_id
из order
коллекции, где есть много записей, но я хочу, чтобы получить 5 лучших пользователей, которые сделали больше заказов и суммируют общую цену конкретного пользователя ,
Например, если я сделал 10 заказов, я хочу получить свой идентификатор и сумму всех моих заказов. Я использовал ниже код, но он не работает:
Order.find({$group : { user_id : "$user_id"}},function(error,fetchAllTopUsers){
console.log('##################');
console.log(fetchAllTopUsers);
})
Я проверил этот пример, но они не используют найти с $group
. Я новичок в 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
}
ОК, позвольте мне добавить данные таблицы. –