我正在尝试执行一个查询,删除一些与一组条件中的至少一个条件匹配的特定元素,
{
id: 'myId',
path2: [{
a: '1'
},{
a: '2'
},{
a: '3'
}]
}
并将其更新为:
{
id: 'myId',
path2: [{
a: '1'
}]
}
在这里,我从path2
中删除了'a'字段的值等于 2或3 的所有元素。
我尝试了以下但没有成功(我使用的是猫鼬):
let conditions = ['2', '3'];
myModel.findOneAndUpdate({id: 'myId'},
{$pull: {path2: {$elemMatch: {a: {$in: conditions}}}}}
);
提前谢谢。
答案 0 :(得分:0)
应该这样做,
myModel.findOneAndUpdate({id: 'myId'}, {$pull: {path2: {a: {$in: conditions}}}} );
您不需要使用elemMatch
。