मैं इसMongoDB स्थितीय ऑपरेटर त्रुटि
{
"_id" : ObjectId("5742be02289512cf98bf63e3"),
"name" : "test1",
"name" : "test1",
"attributes" : [
{
"name" : "x",
"color" : "0xd79c9c",
"_id" : ObjectId("5742be02289512cf98bf63e8")
},
{
"name" : "y",
"color" : "0xd79c9c",
"_id" : ObjectId("5742be02289512cf98bf63e7")
},
{
"name" : "z",
"color" : "0xd79c9c",
"_id" : ObjectId("5742be02289512cf98bf63e6")
}
],
"__v" : 6
}
की तरह वस्तुओं है और मैं सभी दस्तावेजों को अपडेट करना चाहते हैं, और नए क्षेत्र का श्रेय प्रत्येक के लिए निर्धारित किया है। तो मैं एक ही समय में सभी दस्तावेजों को अद्यतन करने के लिए एकल क्वेरी चलाने के लिए चाहता हूं। मुझे लगता है, यह क्वेरी
db.spaces.update({}, { $set: { "attributes.0.weight": 2 } }, {multi: true})
लेकिन जब मैं यह क्वेरी चलाता हूं, तो मुझे एक त्रुटि मिलती है।
"कोड": 16,837,
"errmsg": "स्थितीय ऑपरेटर मिलान क्वेरी से की जरूरत नहीं मिला अविस्तृत अद्यतन:। गुण $ वजन।।"
तो मैं समझ में नहीं आता क्यों। कृपया मदद
स्थितित्मक ऑपरेटर का उपयोग करने के लिए आपको क्वेरी दस्तावेज़ के हिस्से के रूप में सरणी फ़ील्ड को शामिल करने की आवश्यकता है। – chridam
@ चिड़ियाम, मैं इसे कैसे कर सकता हूं? – Gor