MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

mongodb अद्यतन मिलान दस्तावेज़ विफल

यह विफलता नहीं बल्कि डिजाइन द्वारा है।

बल्क ऑपरेशंस API के अंतर्गत , यदि आप अद्यतन करने के लिए एक मूल्य प्रदान करते हैं जो दस्तावेज़ के मौजूदा मूल्य से मेल खाता है तो इसे संशोधित के रूप में चिह्नित नहीं किया जाता है और वास्तव में दस्तावेज़ को फिर से लिखने का कोई प्रयास नहीं करता है।

सरल परीक्षण:

db.junk.insert({ "a": 1 })
WriteResult({ "nInserted" : 1 })

db.junk.update({ "a": 1},{ "$set": { "a": 2 }})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

db.junk.update({ "a": 2 },{ "$set": { "a": 2 }})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 0 })

db.junk.update({ "a": 2 },{ "$set": { "a": NumberInt(2) }})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

db.junk.update({ },{ "$set": { "a": NumberInt(2) }})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 0 })

संस्करण 2.6 के अनुसार MongoDB शेल में सभी ऑपरेशन वास्तव में बल्क ऑपरेशंस API<का उपयोग कर रहे हैं। /ए> . यहीं पर आपको WriteResult दिखाई देता है जो उस एपीआई से सबूत के तौर पर आता है कि ऐसा हो रहा है।

तो यहां संक्षिप्त मामला यह है कि यदि आपके पास "मैन्युअल रूप से सम्मिलित" आइटम हैं जो सही प्रकार के हैं जिन्हें आप संशोधित कर रहे हैं, तो वे परिवर्तित नहीं होते हैं।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगोडीबी में सबसे अधिक बार होने वाले मूल्य को खोजने का सबसे अच्छा तरीका क्या है?

  2. MongoDb कनेक्शन अस्वीकृत

  3. नेवला स्कीमा इनहेरिट करना

  4. MongoDB में लुकअप चार्ट पेश करना

  5. MongoDB में उपयोगकर्ता कैसे बनाएं