यह - सही ढंग से - Event_id 1 या 2 के साथ कोई रिकॉर्ड नहीं डालेगा यदि वे पहले से मौजूद नहीं हैं
db.foo.update({event_id: { $in: [1,2]}}, {$inc: {visit:1}}, true, true)
ऐसा इसलिए है क्योंकि objNew
क्वेरी का हिस्सा (देखें http://www.mongodb.org/display /DOCS/Updating#Updating-UpsertswithModifiers
) फ़ील्ड के लिए कोई मान नहीं है event_id
. परिणामस्वरूप, आपको डेटाबेस में कम से कम X+1 ट्रिप की आवश्यकता होगी, जहां X, event_ids की संख्या है, यह सुनिश्चित करने के लिए कि यदि आप किसी विशेष Event_id के लिए मौजूद नहीं हैं तो आप एक रिकॉर्ड डालें (+1 ऊपर क्वेरी से आता है) , जो मौजूदा रिकॉर्ड के लिए विज़िट काउंटर को बढ़ाता है)। इसे अलग तरीके से कहने के लिए, MongoDB कैसे जानता है कि आप Event_id के लिए मान 2 का उपयोग करना चाहते हैं न कि 1? और 6 क्यों नहीं?
डब्ल्यू.आर.टी. रूबी के साथ बैच प्रविष्टि, मुझे लगता है कि यह संभव है क्योंकि निम्न लिंक सुझाता है - हालांकि मैंने केवल जावा ड्राइवर का उपयोग किया है:मोंगॉइड का उपयोग करके बैच इंसर्ट/अपडेट करें?