2010-06-29 12 views
10

पायमोंगो docs के अनुसार, update() एक समय में केवल एक ही दस्तावेज़ को अपडेट कर सकता है। मान लें कि मेरे पास 100 दस्तावेज़ हैं जिन्हें मैं एक साथ अपडेट करना चाहता हूं। यह बहुत अधिक है। क्या Pymongo के माध्यम से एक मोंगोडीबी क्वेरी के साथ कई दस्तावेज़ अपडेट करने का कोई तरीका है?मोंगोडीबी/पायमोंगो के साथ कई साथ-साथ अपडेट?

उत्तर

14

असल में, आप बहु विकल्प के साथ कई डॉक्स अद्यतन कर सकते हैं:

collection.update(spec, doc, multi=True) 

यह सभी मैचों अद्यतन करता है।

+0

क्षमा करें, क्या आप अधिक विशिष्ट हो सकते हैं? मान लें कि मैं डेटाबेस से 10 ऑब्जेक्ट खींचता हूं, प्रत्येक अद्वितीय '_id' के साथ, और मैं प्रत्येक में एक फ़ील्ड बदलता हूं। फिर मैं डेटाबेस में उन परिवर्तनों को कैसे डालूं? सादगी और क्वेरी दक्षता दोनों के लिए बोनस अंक। –

+0

क्या प्रत्येक बदलाव अलग-अलग हैं? यदि ऐसा है, तो आपको अलग-अलग अपडेट करना होगा। आप उन्हें बैच नहीं कर सकते हैं, लेकिन मुझे संदेह है कि उन्हें एक साथ भेजने में असमर्थ होना एक बाधा है। – kristina

+0

आह, मैं देखता हूं। धन्यवाद। –

1

आप MongoDB में उपलब्ध थोक लिखने सुविधा का उपयोग करके एक समय में अलग अलग _ id के साथ एक से अधिक दस्तावेज़ अद्यतन कर सकते हैं 2.6 इस http://api.mongodb.org/python/current/examples/bulk.html

सटीक में

कोशिश आप आदेश दिया उपयोग कर सकते हैं थोक लिखें संचालन जो रिकॉर्ड की एक थोक जिसके साथ कर रहे हैं अद्यतन करता है विभिन्न मानदंड

अधिक जानकारी के लिए इसे देखें Best way to read and update mongodb documents using pymongo

संबंधित मुद्दे