MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie kann ich nur bestimmte Felder für eine Abfrage in Spring Data MongoDB zurückgeben?

MongoDB gibt nur JSON-Dokumente für Standardabfragen zurück. Was Sie sehen möchten, kann erreicht werden, indem Sie immer noch eine List<Foo> zurückgeben . Die fields Eigenschaft in @Query bewirkt, dass nur die auf 1 gesetzten Felder zurückgegeben werden.

@Query(value="{ path : ?0}", fields="{ path : 0 }")
List<Foo> findByPath(String path);

Wir empfehlen normalerweise, dafür ein dediziertes DTO einzuführen, damit Sie das teilweise gefüllte Foo verhindern Instanz vor der Übergabe an save(…) wiederum.

Eine andere Option ist die Verwendung des Aggregations-Frameworks, aber das ist komplizierter.