Du kan ikke opnå dette ved at bruge @Query
. Andre mulige alternativer er
-
Opret to metoder i klassen Repository. En som kun tager id og en anden som tager id og andre argumenter. Og i din serviceklasse kan du bestemme, hvilken du skal ringe til, baseret på de data, du har. (Ikke skalerbar)
-
Brug QueryDsl. Hermed kan du oprette søgekriterier baseret på data du har dynamisk. Nogle nyttige links
https://docs.spring.io/spring-data/mongodb/docs/current/reference/html/#core.extensions.querydsl
http://www.baeldung.com/queries-in -spring-data-mongodb - Du kan bruge
Example
. Her er linket til dokumentation.(Dette har nogle begrænsninger)
Efter min personlige erfaring er QueryDsl den bedste måde at tackle disse sager på, og den kan nemt udvides til yderligere ændringer i kravet.