Zum einen gibt die .getCollection()
-Methode das grundlegende Driver-Sammlungsobjekt wie folgt zurück:
Der Typ des Abfrageobjekts unterscheidet sich möglicherweise von dem, was Sie verwenden, aber es gibt auch noch andere Dinge. Nämlich, dass .distinct()
nur die "distint" -Werte des gesuchten Schlüssels zurückgibt und andere Felder des Dokuments nicht zurückgibt. Sie könnten also tun:
Aber das wird nur "Beispiel" als ein einzelnes Element in der Liste zum Beispiel zurückgeben.
Wenn Sie die "Felder" aus einer bestimmten Menge haben möchten, verwenden Sie stattdessen die Methode .aggregate()
. Mit den "ersten" Vorkommen der anderen Feldwerte für den unterschiedlichen Schlüssel:
Oder die tatsächlichen "distinct" Werte mehrerer Felder, indem Sie sie alle zum Gruppierungsschlüssel machen:
%Vor% Es gibt auch eine direkte Methode .aggregate()
auf mongoTemplate-Instanzen, die eine Reihe von Hilfsmethoden zum Erstellen von Pipelines hat. Aber das sollte dich zumindest in die richtige Richtung weisen.
Tags und Links java mongodb spring-mongodb