Actualizar objeto incrustado dentro de la matriz dentro de la matriz en MongoDB

Tengo documento como

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

No puedo$set hechizolevel : 3 conspell_id : 1 dentrospells que adentroheros con el apodo "prueba. He intentado esta consulta:

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

Error que veo es

no se puede agregar a la matriz usando el nombre del campo de cadena [hechizos] Gracias por la ayuda.

Respuestas a la pregunta(2)

Su respuesta a la pregunta