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