Ist es möglich, das Aggregationsframework zu verwenden, um nach einem bestimmten Element eines Arrays zu gruppieren?
So dass mit Dokumenten wie folgt:
%Vor%Ich könnte eine eindeutige Liste der Top-Favoriten (dh Lebensmittel bei Index 0) zusammen mit der Höhe der größten Person, die Top-Favorit ist, das ist?
Ähnliches (obwohl es nicht funktioniert, da die Array-Index-Zugriffspunktnotation nicht im Aggregationsrahmen zu funktionieren scheint):
%Vor%Es scheint so, als würden Sie sich auf das Lieblingsessen verlassen, wenn jede Person zuerst in der Reihe ist. Wenn ja, gibt es einen Aggregations-Framework-Operator, den Sie nutzen können.
Hier ist die Pipeline, die Sie verwenden können:
%Vor%Bei diesem Beispiel-Dataset:
%Vor%Sie erhalten diese Ergebnisse:
%Vor% Fügen Sie nach der Verwendung von "$wind"
:
DOKUMENT:
AGGREAGATION:
ERGEBNIS:
Zusätzlich:
Wenn in einem Sammlungsdatensatz mehr als zwei Feldfelder vorhanden sind,
Wir können "$ project" Bühne verwenden um das Array-Feld anzugeben.
Tags und Links mongodb aggregation-framework