एक एकत्रीकरण क्वेरी का परिणाम एक कर्सर है, जैसा कि एक नियमित find
. के लिए है सवाल। pymongo
. के मामले में CommandCursor
चलने योग्य है, इस प्रकार आप निम्न में से कोई भी कार्य करने में सक्षम हैं:
cursor = db.points.aggregate(...)
# Option 1
print(list(cursor))
# Option 2
for document in cursor:
print(document)
नोट: as अरुण ने देखा
, दोनों ही मामलों में, यानी जब आप कर्सर से सूची बनाते हैं, या लूप के लिए पुनरावृति करते हैं, तो आप कर्सर पर पुनरावृति नहीं कर पाएंगे। उस स्थिति में पहला विकल्प बेहतर हो जाता है, यदि आप भविष्य में इसका उपयोग करना चाहते हैं, जैसा कि आप प्राप्त सूची का जितना चाहें उपयोग कर सकते हैं, क्योंकि यह पहले से ही स्मृति में है।
नहीं कर पाने का कारण दोहराना यह है कि कर्सर वास्तव में सर्वर पर है, और यह डेटा को खंड-दर-खंड भेजता है, और इसके बाद आपको सभी डेटा (या सर्वर समाप्त हो जाता है) भेजने के बाद कर्सर नष्ट हो जाता है।