我收藏了很多文件:
{
"key": "abc",
"field1": "oldValue",
"fieldN": ["a","b"]
}
现在我有这样的文件:
{
"key": "abc",
"field1": "newValue",
"fieldN": ["b","c"]
}
是否可以(在单个操作中)使用新值(覆盖)更新文档(如果key
匹配),但对单个fieldN
字段执行合并操作:["a", "b"] + ["b", "c"]
变为["a", "b", "c"]
(唯一值,顺序无关紧要)
如果文档key
不存在,执行一个简单的插入(我想我可以用upsert
标记来完成)
1条答案
按热度按时间aelbi1ox1#
您可以使用
$addToSet
: