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

वसंत-डेटा-मोंगो - वैकल्पिक क्वेरी पैरामीटर?

बूलियन तर्क में इसे लागू करने के लिए मैं निम्नलिखित करता हूं और प्रोग्रामिंग भाषाओं में उपलब्ध संचालन में रूपांतरण करता हूं

:query != null -> field == :query
!(:query != null) || (field == :query)
(:query == null) || (field == :query)

सादे SQL में, यह

. के रूप में किया जाता है
where (null = :query) or (field = :query)

MongoDB में यह $where

. के माध्यम से किया जाता है
{ $where: '?0 == null || this.field == ?0' } 

हम इसे थोड़ा तेज कर सकते हैं कुछ पठनीयता की कीमत पर समारोह में सब कुछ बनाने के बजाय मोंगो ऑपरेशंस का उपयोग करके। दुर्भाग्य से काम नहीं करता।

{ $or : [ { $where: '?0 == null' } , { field : ?0 } ] } 

तो आपके पास क्या है

@Query("{ $or : [ { $where: '?0 == null' } , { field : ?0 } ] }")
List<Something> findAll(String query, Pageable pageable);

इन/सभी खंडों के लिए सरणियों को संभालने के लिए इसे और विस्तारित किया जा सकता है

@Query("{ $or : [ { $where: '?0.length == 0' } , { field : { $in : ?0 } } ] }")
List<Something> findAll(String query, Pageable pageable);


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB BSON दस्तावेज़ आकार सीमा को समझना

  2. Mongoid स्थापना के बाद सक्रिय रिकॉर्ड जनरेटर का उपयोग करना?

  3. MongoDB संग्रहीत प्रक्रिया समतुल्य

  4. दस्तावेज़ mongodb के साथ नोडज में लॉकिंग/लेनदेन के साथ पढ़ें और डालें

  5. 2022 के लिए MongoDB ट्यूटोरियल - जानें कि MongoDB क्या है?