साथ पृष्ठांकन मैं पृष्ठांकन योग्य के साथ एक क्वेरी है? मुझे Page<T>
लौटने वाली एक विधि दिखाई नहीं दे रही है।mongoTemplate
उत्तर
MongoTemplate
में Page
वापस करने के तरीके नहीं हैं। find()
विधियां सामान्य List
लौटाती हैं।
with(new PageRequests(page, size)
एक MongoDB क्वेरी (गिनती क्वेरी मुझे लगता है कि द्वारा दीं)
Page
MongoDB repositories जो वसंत डेटा खजाने की एक विशेष मामला है के साथ संयोजन के रूप में इस्तेमाल किया जा सकता के साथ skip
और limit
समायोजित करने के लिए आंतरिक रूप से प्रयोग किया जाता है।
इस प्रकार, आपको अंकुरित परिणामों के लिए MongoRepository
के Page findAll(Pageable pageable)
का उपयोग करना होगा (वास्तव में PagingAndSortingRepository
से विरासत में मिला)।
यह सच है कि MongoTemplate
में पेजबेल के साथ findXXX
नहीं है।
लेकिन आप इसके लिए वसंत रिपोजिटरी PageableExecutionUtils
का उपयोग कर सकते हैं।
अपने उदाहरण में यह इस तरह दिखेगा: मूल स्प्रिंग डेटा भंडार में
Pageable pageable = new PageRequests(page, size);
Query query = new Query().with(pageable);
List<XXX> list = mongoTemplate.find(query, XXX.class);
return PageableExecutionUtils.getPage(
list,
pageable,
() -> mongoTemplate.count(query, XXX.class));
की तरह, PageableExecutionUtils
गिनती अनुरोध करते हैं और आप के लिए एक अच्छा Page
में लपेट होगा।
Here आप देख सकते हैं कि वसंत वही कर रहा है।
d0x के उत्तर के आधार पर और spring code पर देखकर। मैं इस बदलाव का उपयोग कर रहा हूं जो वसंत-बूट-स्टार्टर-डेटा-मोंगोडब निर्भरता से वसंत डेटा कॉमन्स जोड़ने की आवश्यकता के बिना काम करता है।
@Autowired
private MongoOperations mongoOperations;
@Override
public Page<YourObjectType> searchCustom(Pageable pageable) {
Query query = new Query().with(pageable);
// Build your query here
List<YourObjectType> list = mongoOperations.find(query, YourObjectType.class);
long count = mongoOperations.count(query, YourObjectType.class);
Page<YourObjectType> resultPage = new PageImpl<YourObjectType>(list , pageable, count);
return resultPage;
}
- 1. कस्टम भंडार कार्यान्वयन के लिए MongoTemplate पासिंग
- 2. MongoTemplate का उपयोग कर खोज के लिए अनुक्रमणिका बनाएं?
- 3. स्प्रिंग एनोटेशन का उपयोग कैसे करें @ kutlin में @Autowired?
- 4. स्प्रिंग बूट ऐप स्टैंडअलोन टॉमकैट
- 5. बड़े mongodb डेटा पढ़ें
- 6. MongoDB से कनेक्ट करने के जो प्रमाणीकरण
- 7. स्प्रिंग एमवीसी
- 8. वसंत डेटा में डेटाबेस नाम निर्दिष्ट करने के लिए कैसे करें mongoDB
- 9. स्प्रिंग डाटा: ही नाम के साथ लेकिन 2 अलग संकुल
- 10. जावा मोंगो टेम्पलेट: उपरोक्त वस्तुएं उत्पन्न नहीं कर रहे हैं
- 11. मैं वसंत में कस्टम मोंगो फॉर्मेटर्स कैसे स्थापित करूं?
- 12. स्प्रिंग डेटा के मोंगो टेम्पलेट और मोंगो रिपोजिटरी के बीच क्या अंतर है?
- 13. नेस्टेड सरणी के अंदर मोंगोड वृद्धि मूल्य
- 14. स्प्रिंग-बूट
- 15. mongodb में बाहरी सरणीकरण को अद्यतन करते समय आंतरिक सरणी में मूल्य कैसे सम्मिलित करें?
- 16. वसंत-डेटा-MongoDB अवरोधन क्वेरी और विधेय या विनिर्देश इंजेक्षन
- 17. @Indexed एनोटेशन जब नाम वाले संग्रह
- 18. हेरोकू
- 19. MongoDB पूर्ण और आंशिक पाठ खोज
- 20. जीएसएसएक्सप्शन: प्रदान किए गए कोई वैध प्रमाण-पत्र (तंत्र स्तर: किसी भी केर्बेरोस टीजीटी को खोजने में विफल)
- 21. वसंत-मोंगो-1.0.xsd त्रुटि
- 22. मोंगोडीबी केस कोष्ठक के साथ पाठ पर असंवेदनशील क्वेरी
- 23. मोंगो: खजाने अब काम नहीं करता
और क्लास पेजेबल एक्सेक्यूशन उपयोग कहां है? –
स्प्रिंग डेटा कॉमन्स से: https://github.com/spring-projects/spring-data-commons/blob/master/src/main/java/org/springframework/data/repository/support/PageableExecutionUtils.java – d0x
ठीक है, धन्यवाद। मैंने वसंत के पुराने संस्करण का इस्तेमाल किया। –