Wie werden nur bestimmte Felder für eine Abfrage in Spring Data MongoDB zurückgegeben?

8

Wie können wir bestimmte Felder in Spring Data Mongo auswählen? Ich habe Folgendes versucht, aber ich habe eine Ausnahme von Foo auf String geworfen.

Verwenden von @Query

%Vor%

Nicht @Query

%Vor%

Hier ist das Dokumentenmodell

%Vor%     
richersoon 20.08.2015, 03:12
quelle

3 Antworten

11

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

%Vor%

Wir empfehlen normalerweise, dafür ein dediziertes DTO einzuführen, damit verhindert wird, dass die teilweise gefüllte Foo -Instanz an save(…) übergeben wird.

Eine andere Option ist die Verwendung des Aggregationsframeworks, aber das ist komplizierter.

    
Oliver Gierke 02.09.2015 12:11
quelle
6

Sie können

verwenden %Vor%

Weitere Informationen im Frühjahr Dokumentation

    
Nikhil Kumar K 19.12.2016 14:11
quelle
4

Sie können

verwenden

Query-Abfrage = neue Query ();

query.fields (). include ("Pfad");

    
Pankaj Mandale 02.09.2015 11:50
quelle