我有一个更新函数,它在MongoDB文档中创建一个新的活动数组。“活动”数组中的每个活动都有一个“名称”和另一个名为“线索”的数组。
这就是我创建它的方式:
await users.updateMany(
{ email: user.email },
{ $push: { campaigns: { name: campaignname, type, leads: [] } } }
);
字符串
现在我想做的是“添加”一些数据(对象数组)到“线索”数组中,并指定活动名称。
因此,我基本上想搜索用户,通过“名称”字段选择活动数组中的活动,并将对象数组推到“线索”数组中。
我试探着:
await users.updateOne({
$push: {
"campaigns.$[elem].leads": { $each: leads }
}
},
{
arrayFilters: [
{
"elem.name": campaignname
}
]
})
型
不起作用
请任何人及时帮助
1条答案
按热度按时间a9wyjsp71#
你可以这样做:
字符串
或者,如果你已经构造了要推送的对象数组,你可以使用spread语法:
型
要从
campaigns.leads
数组中删除其中一个对象,可以通过$pull
按{key: 'value'}
选择它们,如下所示:型
或者如果你只是想删除它们,你可以把
campaigns.leads
设置为一个空数组,如下所示:型