вытащить вложенный документ в массив mongodb

у меня есть в mongodb эта структура

{doc:
    { array_doc:[....//many documents]}
}

я использую mongoskin в mongodb 2.2 с nodejs 0.8

var code_doc='HSKD41814541211';
var db = mongo.db(perm+"@127.0.0.1:27017/database",{safe:true});
    db.collection('comercio').findAndModify(
    {
        'code':code,
        'email':email,
    },[],{$pull:{'doc.array_doc':{'doc.array_doc.code_doc':code_doc}}},{new:true},function(err,result)

я хочу стереть документ из массива array_doc, внутри которого много документов, каждый документ внутри массива имеет уникальный code_doc... я хочу стереть документ, соответствующий переменной code_doc='HSKD41814541211';

спасибо


person andrescabana86    schedule 27.02.2013    source источник


Ответы (1)


Не копируйте свой ключ в извлекаемом значении. Вместо этого ваш оператор $pull должен выглядеть так:

{$pull: {'doc.array_doc': {code_doc: code_doc}}}
person JohnnyHK    schedule 27.02.2013