MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

पेजेबल के साथ स्प्रिंग कस्टम क्वेरी

जैसा कि आपको पता चला, MongoTemplate पूरे पेज एब्स्ट्रैक्शन का समर्थन नहीं करता है। जैसे KneeLess ने कहा कि आप @Query . का उपयोग कर सकते हैं -कुछ कस्टम क्वेरी करने के लिए एनोटेशन।

यदि यह आपके लिए पर्याप्त नहीं है, तो स्प्रिंग रिपोजिटरी का उपयोग कर सकते हैं PageableExecutionUtils आपके MongoTemplate के संयोजन में।

उदाहरण के लिए इस तरह:

@Override
public Page<XXX> findSophisticatedXXX(/* params, ... */ @NotNull Pageable pageable) {

    Query query = query(
            where("...")
            // ... sophisticated query ...
    ).with(pageable);

    List<XXX> list = mongoOperations.find(query, XXX.class);
    return PageableExecutionUtils.getPage(list, pageable,
              () -> mongoOperations.count((Query.of(query).limit(-1).skip(-1), XXX.class));
}

स्प्रिंग रिपोजिटरी वही कर रहे हैं। जैसा कि आप देख सकते हैं यहां , वे दो प्रश्नों को भी सक्रिय करते हैं।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. $अनविंड के बिना सरणी के अंदर डुप्लिकेट खोजें

  2. मोंगोडीबी ऑब्जेक्ट आईडी का उपयोग क्यों करता है?

  3. गोलांग और मोंगोडब में आईडी द्वारा कैसे खोजें?

  4. नोड नेवला लूप में क्वेरी ढूंढता है जो काम नहीं कर रहा है

  5. MongoDB डेटा को CSV प्रारूप में कैसे निर्यात करें?