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

मैं कैसे बता सकता हूं कि मोंगोडीबी में किसी क्वेरी से और परिणाम हैं या नहीं?

MongoDB में टेलेबल कर्सर हैं। , जो आपको सभी डेटा लौटाए जाने के बाद एक कर्सर का पुन:उपयोग करने की अनुमति देता है। यह कुछ इस तरह दिखेगा:

n = 10
docs = db.documents.find({"foo": "bar"}).limit(n)
more = docs.hasNext()

ध्यान दें कि केवल 10 दस्तावेज़ पुनर्प्राप्त किए गए हैं, लेकिन यह निर्धारित करने के लिए कर्सर का निरीक्षण किया जा सकता है कि क्या और ऑब्जेक्ट उपलब्ध हैं। एकमात्र समस्या यह है कि टेलेबल कर्सर का उपयोग केवल कैप्ड संग्रह पर ही किया जा सकता है।

उपरोक्त का उपयोग नियमित कर्सर के साथ भी किया जा सकता है, लेकिन आपको n + 1 के लिए क्वेरी करनी होगी दस्तावेज। यह मूल रूप से वही समाधान है जिसका आप अभी उपयोग कर रहे हैं। आपको size() . का उपयोग करना होगा हालांकि, यह स्किप और लिमिट मॉडिफायर को ध्यान में रखता है।

n = 10
docs = db.documents.find({"foo": "bar"}).limit(n + 1)
more = db.size() > n

मैं पायमोंगो से परिचित नहीं हूं, इसलिए मुझे यह निश्चित रूप से नहीं पता है, लेकिन एक संभावना है कि यह समाधान n + 1 भेजता है आवश्यक n . के बजाय आपके आवेदन के लिए पूर्ण दस्तावेज़ , जिसके परिणामस्वरूप मामूली बैंडविड्थ ओवरहेड होता है। यदि ऐसा है, तो हो सकता है कि आप एक सर्वर-साइड फ़ंक्शन बनाना चाहें जो ऐसा ही करता हो, लेकिन केवल n युक्त ऑब्जेक्ट देता है एक सरणी में दस्तावेज़, और एक ध्वज जो इंगित करता है कि क्या n + 1 दस्तावेज़ उपलब्ध है।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. दिनांक को मिलीसेकंड से ISODate ऑब्जेक्ट में बदलें

  2. MongoDB $ push बनाम $addToSet:क्या अंतर है?

  3. जावास्क्रिप्ट के लिए IntelliJ IDEA का उपयोग करने के लिए इष्टतम प्लगइन्स और प्रोजेक्ट?

  4. पाइमोंगो का उपयोग करके मोंगोडब दस्तावेज़ों को पढ़ने और अपडेट करने का सबसे अच्छा तरीका

  5. $addToSet Mongo ऑपरेटर का उपयोग करके अनेक मान जोड़ें