आप "बल्क ऑपरेशंस API" चाहते हैं मोंगोडीबी से। अधिकांशतः MongoDB 2.6 के साथ पेश किया गया है, इसलिए यदि आपके पास वर्तमान में नहीं है तो अपग्रेड करने का एक अनिवार्य कारण है।
bulk = db.coll.initialize_ordered_bulk_op()
counter = 0
for record in coll.find(snapshot=True):
# now process in bulk
# calc value first
bulk.find({ '_id': record['_id'] }).update({ '$set': { 'field': newValue } })
counter += 1
if counter % 1000 == 0:
bulk.execute()
bulk = db.coll.initialize_ordered_bulk_op()
if counter % 1000 != 0:
bulk.execute()
बहुत बेहतर है क्योंकि आप सर्वर को "हर" अनुरोध नहीं भेज रहे हैं, हर 1000 अनुरोधों में सिर्फ एक बार। "बल्क एपीआई" वास्तव में आपके लिए इसे कुछ हद तक सुलझाता है, लेकिन वास्तव में आप इसे थोड़ा बेहतर "प्रबंधित" करना चाहते हैं और अपने ऐप में बहुत अधिक मेमोरी का उपभोग नहीं करना चाहते हैं।
भविष्य का रास्ता। इसका इस्तेमाल करें।