आप केवल $
. का उपयोग कर सकते हैं एकल-स्तरीय सरणियों के लिए स्थितीय ऑपरेटर। आपके मामले में, आपके पास नेस्टेड सरणी है (heros
एक सरणी है, और उसके भीतर प्रत्येक नायक के पास spells
है सरणी)।
यदि आप सरणियों की अनुक्रमणिका जानते हैं, तो आप अद्यतन करते समय स्पष्ट अनुक्रमणिका का उपयोग कर सकते हैं, जैसे:
> db.test.update({"heros.nickname":"test", "heros.spells.spell_id":1}, {$set:{"heros.0.spells.1.level":3}});