दुर्भाग्य से, वर्तमान में प्रति अद्यतन केवल एक "$" स्थिति का उपयोग करना संभव है। यह अद्यतन को एक एम्बेडेड सरणी तक सीमित करता है, जैसा कि दस्तावेज़ीकरण में उदाहरण के समान है:http://www.mongodb.org/display/DOCS/Updating#Updating-The%24positionaloperator(आपकी पोस्ट से, ऐसा लगता है कि आप पहले से ही यह मिला, लेकिन मैंने इस पोस्ट को पढ़ने वाले किसी अन्य उपयोगकर्ता के लाभ के लिए लिंक शामिल किया है।)
अद्यतन करने के लिए, आपको निम्नलिखित तीन में से दो की स्थिति जाननी होगी:"बैंड" सरणी में बैंड की स्थिति, एल्बम सरणी में एल्बम की स्थिति, या ट्रैक की स्थिति "ट्रैक" सरणी में।
इस कार्यक्षमता के लिए एक सुविधा अनुरोध है, और यह संस्करण 2.3.0 (हालांकि यह परिवर्तन के अधीन है) के लिए निर्धारित है।
https://jira.mongodb.org/browse/SERVER-831 "स्थितित्मक ऑपरेटर मिलान नेस्टेड ऐरे"
कुछ समय के लिए, आपको तीन में से दो सरणियों में उप दस्तावेज़ों की स्थिति जाननी होगी:
db.music.update({genre : "Grunge", "bands.name" : "Nirvana"}, {$set:{"bands.$.albums.0.tracks.0.name":"Smells Like Teen Spirit!"}})
db.music.update({genre : "Grunge", "bands.0.albums.name" : "Nevermind"}, {$set:{"bands.0.albums.$.tracks.0.name":"Smells Like Teen Spirit!"}})
या
db.music.update({genre : "Grunge", "bands.0.albums.0.tracks.order" : 1}, {$set:{"bands.0.albums.0.tracks.$.name":"Smells Like Teen Spirit!"}})