我正在尝试根据其中的差异更新数组。
例如,我有这个:
...
tags: ['foo', 'bar'],
...
我想用以下模型数组 ['foo','baz'] 更新它,以便它变成:
...
tags: ['foo', 'baz'],
...
正如你所看到的,它会在模型数组中留下'foo',但它会取出'bar',它会添加'baz',因为它在模型数组中。
现在,我目前正在做的是:
$addToSet: {
tags: {
$each: req.body.conversation.tags
}
}
哪个好,仅适用于添加标记... 不删除请求正文中提供的任何标记。我应该如何构建我的查询,以便我能够动态添加和删除我的数组中的任何项没有重复?
感谢任何指导。
谢谢。
答案 0 :(得分:0)
然后,您可以使用slice命令使用与此相同的技术删除'bar'
:
{ $slice: [ [ 1, 2, 3 ], 2 ] }
将返回[1, 2]
将切片的数组保存为新数组,然后只需将新变量推送到数组。
不要认为有一个功能可以实现这一目标。