Вытащить поддокумент в массиве 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';

Тпх

1 ответ

Решение

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

{$pull: {'doc.array_doc': {code_doc: code_doc}}}
Другие вопросы по тегам