MongoDB中有多个$ inc更新

Bry*_*isi 18 mongodb

是否可以通过在单个更新文档中传递两个$ inc运算符来更新单个文档?

例如,我尝试使用以下更新文档增加给定文档中的两个不同字段:

{
    "$inc" : { "ViewAggregates.4d75b891842f2d3930cf7674" : 1 },
    "$inc" : { "ViewAggregates.Total" : 1 }
}
Run Code Online (Sandbox Code Playgroud)

不会抛出任何错误并且文档已更新,但只有一个字段已递增.就好像服务器忽略了第一个$ inc运算符,只有第二个实际应用了.

这是正确的\正确的行为还是我缺少的东西?

Cam*_*ron 46

这是一个有趣的字典键唯一的副作用 - 第二个$inc覆盖第一个.

但是,仍然可以增加多个字段:

{
    "$inc": {
        "ViewAggregates.4d75b891842f2d3930cf7674" : 1, 
        "ViewAggregates.Total" : 1
    }
}
Run Code Online (Sandbox Code Playgroud)

这也适用于许多其他运营商:-)