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

MongoDB:सभी डेटा के माध्यम से पुनरावृति करने के लिए कर्सर का उपयोग नहीं कर सकता

सामान्य तौर पर, हाँ। यदि आपके पास एक मोनोटोनिक क्षेत्र है, आदर्श रूप से एक अनुक्रमित क्षेत्र है, तो आप बस उसके साथ चल सकते हैं। उदाहरण के लिए, यदि आप ObjectId . प्रकार के फ़ील्ड का उपयोग कर रहे हैं प्राथमिक कुंजी के रूप में या यदि आपके पास CreatedDate . है या कुछ और, आप बस एक $lt . का उपयोग कर सकते हैं क्वेरी करें, तत्वों की एक निश्चित संख्या लें, फिर $lt . का उपयोग करके फिर से क्वेरी करें सबसे छोटा _id या CreatedDate आप पिछले बैच में मिले थे।

सख्त मोनोटोनिक व्यवहार बनाम गैर-सख्त मोनोटोनिक व्यवहार के बारे में सावधान रहें:आपको $lte का उपयोग करना पड़ सकता है अगर चाबियाँ सख्त नहीं हैं, तो चीजों को दो बार डुप्ली पर करने से रोकें। चूंकि _id फ़ील्ड अद्वितीय है, ObjectIds हमेशा सख्ती से एकरस होते हैं।

यदि आपके पास ऐसी चाबी नहीं है, तो चीजें थोड़ी अधिक कठिन हैं। आप अभी भी 'सूचकांक के साथ' पुनरावृति कर सकते हैं (जो भी सूचकांक हो, वह एक नाम हो, एक हैश, एक यूयूआईडी, गाइड, आदि)। यह ठीक वैसे ही काम करता है, लेकिन स्नैपशॉट करना कठिन है, क्योंकि आप कभी नहीं जानते कि जो परिणाम आपने अभी-अभी पाया है, वह आपके द्वारा ट्रैवर्स शुरू करने से पहले डाला गया था या नहीं। साथ ही, जब दस्तावेज़ ट्रैवर्सल की शुरुआत में डाले जाते हैं, तो वे छूट जाएंगे।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB के साथ फास्ट पेजिंग

  2. संग्रह ए जिसमें बी के साथ एक विदेशी है, बी में संग्रह सी के साथ एक विदेशी है, मैं एक विदेशी को ए से संग्रह सी में कैसे ला सकता हूं? (कुल)

  3. Mongoose का उपयोग करके MongDB एटलस से कनेक्ट नहीं हो सकता

  4. मैं $Project के साथ मौजूदा स्ट्रिंग से नए फ़ील्ड कैसे बना सकता हूं?

  5. MongoDB डेटाबेस, tbl . से सेलेक्ट कॉलम 1, कॉलम 2 के बराबर है