आप इसे @Query
. का उपयोग करके हासिल नहीं कर सकते हैं . अन्य संभावित विकल्प हैं
-
रिपोजिटरी क्लास में दो तरीके बनाएं। एक जो केवल आईडी लेता है और दूसरा जो आईडी और अन्य तर्क लेता है। और अपने सेवा वर्ग में, आप हाथ में डेटा के आधार पर तय कर सकते हैं कि किसे कॉल करना है। (स्केलेबल नहीं)
-
QueryDsl का प्रयोग करें। इसके साथ आप गतिशील रूप से आपके पास मौजूद डेटा के आधार पर खोज मानदंड बना सकते हैं। कुछ उपयोगी लिंक
https://docs.spring.io/spring-data/mongodb/docs/current/reference/html/#core.extensions.querydsl
http://www.baeldung.com/queries-in -स्प्रिंग-डेटा-मोंगोडब - आप
Example
का उपयोग कर सकते हैं . यहां दस्तावेज़ीकरण के लिए लिंक है।(इसकी कुछ सीमाएँ हैं)
मेरे व्यक्तिगत अनुभव में QueryDsl का उपयोग करना इन मामलों से निपटने का सबसे अच्छा तरीका है और आवश्यकता में और बदलाव के लिए इसे आसानी से बढ़ाया जा सकता है।