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

मोंगो एग्रीगेट के लिए पेजिनेशन के लिए छोड़ें और सीमित करें

आपकी समस्या skip() . के साथ नहीं है और limit(); जो ठीक काम कर रहा है। मुद्दा आपके समग्र तर्क के साथ है; आप पहले लूप में सभी 39 संग्रहों को पुनरावृत्त कर रहे हैं और फिर एकत्रीकरण के प्रत्येक परिणाम को cursor_list में जोड़ रहे हैं ।

आप जो करने की कोशिश कर रहे हैं उसके तर्क को मैं नहीं समझ सकता, क्योंकि पहला उदाहरण शब्द संग्रह में देख रहा है और दूसरा शब्द क्षेत्र के लिए सभी संग्रह देख रहा है; इसके साथ ही, आप कुछ इस तरह से अपने दृष्टिकोण को सरल बना सकते हैं:

offset = 0
per_page = 10
collections = db.list_collection_names()
#
# Add some logic on the collections array to filter what is needed 
#
print(collections[offset:offset+per_page])

टिप्पणियों को प्रतिबिंबित करने के लिए संपादित करें। इसे करने के लिए किसी फ़ंक्शन का पूर्ण कार्य उदाहरण। एकत्रीकरण क्वेरी की कोई आवश्यकता नहीं है - यह जटिलता जोड़ता है।

from pymongo import MongoClient
from random import randint

db = MongoClient()['testdatabase1']

# Set up some data
for i in range(39):
    coll_name = f'collection{i}'
    db[coll_name].delete_many({}) # Be careful; testing only; this deletes your data
    for k in range (randint(0, 2)):
        db[coll_name].insert_one({'word': '123456'})

# Main function
def test(offset, per_page, word_to_find):
    found = []
    collections = db.list_collection_names()
    for collection in sorted(collections):
        if db[collection].find_one({word_to_find: { '$exists': True}}) is not None:
            found.append(collection)

    print(found[offset:offset+per_page])

test(offset=0, per_page=10, word_to_find='word')



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. सी # क्लाइंट के माध्यम से मोंगोडीबी (मोंगोलैब्स) से कनेक्ट करने में असमर्थ

  2. कुप्पी-पायमोंगो कोलमोड

  3. मोंगोडीबी डॉकर छवि का उपयोग करके रोबोमोंगो को कनेक्ट नहीं कर सकता

  4. Node.js में सभी MongoDB डेटाबेस को कैसे सूचीबद्ध करें?

  5. JSON .NET उप-गुणों के लिए कस्टम नाम समाधानकर्ता