Ich möchte nach user_id
von order
Sammlung gruppieren, wo es viele Einträge gibt, aber ich möchte die Top 5 Benutzer holen, die mehr Aufträge gemacht haben und den Gesamtpreis des bestimmten Benutzers summieren .
Zum Beispiel, wenn ich 10 Bestellungen gemacht habe, möchte ich meine ID und Summe meiner Bestellungen abrufen. Ich habe unten Code verwendet, aber seine nicht funktioniert:
Order.find({$group : { user_id : "$user_id"}},function(error,fetchAllTopUsers){
console.log('##################');
console.log(fetchAllTopUsers);
})
ich dieses Beispiel überprüft haben, aber sie sind nicht mit mit $group
finden. Ich bin neu in Node.js und MongoDB.
Query and sum all with mongoose
Beispieldokumente
{ 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 }
Ich bin ein Ausgang wie unten erwartet: nur mit der Aggregation Rahmen
{
user_id : '57c7f4312b3c9771219bd21c',
finalTotal : 1262
},
{
user_id : '57efb93fdc78c816a3a15c4a'
finalTotal : 660
}
ok, lassen Sie mich Tabellendaten hinzuzufügen. –