Anda tidak dapat mencapai ini menggunakan @Query
. Alternatif lain yang mungkin adalah
-
Buat dua metode di kelas Repositori. Satu yang hanya mengambil id dan lainnya yang mengambil id dan argumen lainnya. Dan di kelas layanan Anda, Anda dapat memutuskan mana yang akan dipanggil berdasarkan data yang ada. (Tidak Dapat Diskalakan)
-
Gunakan QueryDsl. Dengan ini Anda dapat membuat kriteria pencarian berdasarkan data yang Anda miliki secara dinamis. Beberapa tautan bermanfaat
https://docs.spring.io/spring-data/mongodb/docs/current/reference/html/#core.extensions.querydsl
http://www.baeldung.com/queries-in -spring-data-mongodb - Anda dapat menggunakan
Example
. Di sini adalah tautan untuk dokumentasi.(Ini memiliki beberapa batasan)
Dalam pengalaman pribadi saya, menggunakan QueryDsl adalah cara terbaik untuk menangani kasus ini dan dapat dengan mudah diperluas untuk perubahan persyaratan lebih lanjut.