Aktualisieren Sie das eingebettete Objekt innerhalb des Arrays in MongoDB

Ich habe Dokument wie

<code>{
    id : 100,
    heros:[
        {
           nickname : "test",
           spells : [
             {spell_id : 61, level : 1},
             {spell_id : 1, level : 2}
           ]
        }
    ]
}
</code>

Ich kann nicht$set Zauberlevel : 3 mitspell_id : 1 Innerhalbspells das drinnenheros mit dem Spitznamen "test". Ich habe diese Abfrage versucht:

<code>db.test.update({"heros.nickname":"test", "heros.spells.spell_id":1}, 
{$set:{"heros.spells.$.level":3}});
</code>

Fehler, den ich sehe, ist

Kann nicht mit dem Namen eines Zeichenkettenfeldes an ein Array angehängt werden.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage