Обновить встроенный объект внутри массива внутри массива в MongoDB

У меня есть документ типа

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

Я не могу $setзаклинание level : 3с spell_id : 1внутри spells, что внутри herosс никнеймом "test. Я пробовал этот запрос:

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

Ошибка, которую я вижу,

не может добавляться к массиву используя строковое имя поля [заклинания] Спасибо за помощь.

9
задан dcrosta 7 May 2012 в 16:02
поделиться