जिस मुद्दे का मैं अभी अनुमान लगा रहा हूं वह निम्नलिखित हो सकता है:
आप कई मानदंडों के आधार पर खोज संचालन कर रहे हैं। इसका मतलब है कि अगर यह किसी पैरामीटर (मानदंड में) के किसी भी बेमेल के कारण विफल हो जाता है तो यह दस्तावेज़ को सम्मिलित करने का प्रयास करेगा।
तो, संभावना है कि आप उसी दस्तावेज़ को उसी _id के साथ अपडेट करने का प्रयास कर रहे हैं लेकिन कुछ अन्य मानदंड मेल नहीं खा रहे हैं, जिससे इसे फिर से सम्मिलित किया जा सकता है जिससे डुप्लिकेट कुंजी अपवाद होगा। नीचे दिए गए उदाहरण पर विचार करें
test:Mongo > db.example.update({ _id : 1, a : 1, b : 1},{ $set : {d : 1}}, true, false)
test:Mongo > db.example.find()
{ "_id" : 1, "a" : 1, "b" : 1, "d" : 1 }
test:Mongo > db.example.update({ _id : 1, a : 1, b : 2},{ $set : {d : 1}}, true, false)
E11000 duplicate key error index: test.example.$_id_ dup key: { : 1.0 }