Wie erfolgt die Rücksendung nur auf bestimmte Felder für eine Abfrage in Spring Data MongoDB?
Wie können wir wählen Sie bestimmte Felder im Frühling-Daten Mongo. Ich habe Folgendes versucht, aber ich bekam cast exception aus Foo
zu String
.
Mit @Query
@Query(value="{path : ?0}", fields="{path : 0}")
String findPathByPath(String path);
Nicht @Query
String findPathByPath(String path);
Hier ist das Dokument-Modell
@Document(collection = "foo")
public class Foo {
String name, path;
…
}
- Was redest du da? MongoDB nicht Spalten.
- Ich will wieder nur das Fachgebiet von meinem Modell. In sql ist es das äquivalent von SELECT-Pfad VON foo
- Drotbohm - gibt es eine Möglichkeit, wenn wir herausfinden können, die eindeutige Datensatz aus den beiden?
Du musst angemeldet sein, um einen Kommentar abzugeben.
MongoDB gibt nur JSON-Dokumente für standard-Abfragen. Was Sie sehen möchte, kann erreicht werden, indem noch die Rücksendung eines
List<Foo>
. Diefields
Eigenschaft in@Query
führt dazu, dass nur die Felder Satz 1 zurückgegeben werden.Normalerweise empfehlen wir die Einführung einer dedicted DTO, damit Sie verhindern, dass der teilweise gefüllten
Foo
Instanz übergeben wirdsave(…)
wiederum.Andere option ist die Verwendung der aggreation Rahmen, aber das ist mehr beteiligt.
Können Sie
Mehr Informationen im Frühjahr Daten Dokumentation
Können Sie
Können Sie verwenden Sie die folgende Abfrage bestimmte Felder.
Einträge vorhanden in DB
Folgenden Abfrage wird return Foo-Objekt, wenn Pfad=Pfad3
wir brauchen Sie für Felder mit Feldname:1 und wenn nicht benötigen, dann geben Sie es bei 0.