在MongoDB中,我的文档定义如下:
{
'foo': {
'a': [1,2,3,4,5],
'b': [1,5,9],
'c': [2,5,7]
}
}
我正在寻找一种简单的方法来删除每个列表中出现的数字2
。在此示例中,这会将此文档更新为:
{
'foo': {
'a': [1,3,4,5],
'b': [1,5,9],
'c': [5,7]
}
}
有没有解决方案?
感谢。
答案 0 :(得分:3)
您无法使用atomic updates执行此操作,因为positional operator将仅更新嵌套数组中的第一个匹配项。您只能对根级别字段进行多次更新。 只有一个解决方案:加载文档,更新嵌套数组并保存。