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

Fügen Sie optionale Abfrageparameter mit dem Spring Data Mongodb-Repository hinzu

Sie können dies nicht mit @Query erreichen . Andere mögliche Alternativen sind

  1. Erstellen Sie zwei Methoden in der Repository-Klasse. Einer, der nur die ID akzeptiert, und der andere, der die ID und andere Argumente akzeptiert. Und in Ihrer Serviceklasse können Sie anhand der vorliegenden Daten entscheiden, welche Sie anrufen möchten. (Nicht skalierbar)

  2. Verwenden Sie QueryDsl. Damit können Sie Suchkriterien basierend auf Daten, die Sie haben, dynamisch erstellen. Einige hilfreiche Links
    https://docs.spring.io/spring-data/mongodb/docs/current/reference/html/#core.extensions.querydsl
    http://www.baeldung.com/queries-in -spring-data-mongodb

  3. Sie können Example verwenden . Hier ist der Link zur Dokumentation.(Dies hat einige Einschränkungen)

Nach meiner persönlichen Erfahrung ist die Verwendung von QueryDsl der beste Weg, um diese Fälle anzugehen, und es kann leicht für weitere Änderungen der Anforderungen erweitert werden.