Pomocí @Query
toho nelze dosáhnout . Další možné alternativy jsou
-
Vytvořte dvě metody ve třídě úložiště. Jeden, který bere pouze id a druhý, který bere id a další argumenty. A ve své servisní třídě se můžete rozhodnout, kterou zavoláte na základě dat, která máte k dispozici. (Není škálovatelné)
-
Použijte QueryDsl. Díky tomu můžete vytvářet kritéria vyhledávání na základě dat, která máte dynamicky. Některé užitečné odkazy
https://docs.spring.io/spring-data/mongodb/docs/current/reference/html/#core.extensions.querydsl
http://www.baeldung.com/queries-in -spring-data-mongodb - Můžete použít
Example
. Zde je odkaz na dokumentaci.(To má určitá omezení)
Podle mých osobních zkušeností je použití QueryDsl nejlepším způsobem, jak tyto případy řešit, a lze jej snadno rozšířit o další změny v požadavcích.