upsert=true
के साथ अपडेट करें परमाणु "इन्सर्ट या अपडेट" करने के लिए इस्तेमाल किया जा सकता है (http://docs.mongodb.org/manual/core/update/#update-operations-with-the-upert-flag
)।
उदाहरण के लिए यदि हम यह सुनिश्चित करना चाहते हैं कि विशिष्ट url
. के साथ सामने संग्रह में एक दस्तावेज़ ठीक एक बार डाला जाता है, हम कुछ इस तरह चला सकते हैं:
db.Front.update(
{url: 'http://example.com'},
{$set: {
url: 'http://example.com'},
found: true
}
)
MongoDB में एकल दस्तावेज़ पर संचालन हमेशा परमाणु होते हैं। यदि आप कई दस्तावेज़ों में अद्यतन करते हैं, तो कोई परमाणुता की गारंटी नहीं है। ऐसे मामलों में, आप अपने आप से पूछ सकते हैं:क्या मुझे वास्तव में परमाणु होने के लिए संचालन की आवश्यकता है? यदि उत्तर नहीं है, तो संभवतः आप संभावित असंगत डेटा के साथ काम करने के लिए अपना रास्ता खोज लेंगे। यदि उत्तर हाँ है और आप MongoDB के साथ रहना चाहते हैं, तो दो चरण की प्रतिबद्धताएं ।