$
のみを使用できます 単一レベル配列の位置演算子。あなたの場合、ネストされた配列(heros
は配列であり、その中に各ヒーローはspells
を持っています 配列)。
配列のインデックスがわかっている場合は、更新を行うときに次のように明示的なインデックスを使用できます。
> db.test.update({"heros.nickname":"test", "heros.spells.spell_id":1}, {$set:{"heros.0.spells.1.level":3}});
$
のみを使用できます 単一レベル配列の位置演算子。あなたの場合、ネストされた配列(heros
は配列であり、その中に各ヒーローはspells
を持っています 配列)。
配列のインデックスがわかっている場合は、更新を行うときに次のように明示的なインデックスを使用できます。
> db.test.update({"heros.nickname":"test", "heros.spells.spell_id":1}, {$set:{"heros.0.spells.1.level":3}});