考虑这些数据
{ 
    "_id" : ..., 
    "array" : [
        { "name" : "value1","flag" : true } ,
        { "name" : "value2","flag" : false }
  ]
}
我想切换第二个数组元素(从假到真)
我知道我可以使用非常有用的 $ 位置运算符更新特定元素,如下所示:
db.myCollection.update(
    {'array.name':'value2'},
    {
        $set: {
            'array.$.flag':true
        }
    },false,true);  
但是有没有办法将 $ 位置运算符也用于值设置?
例如像这样?
db.myCollection.update(
    {'array.name':'value2'},
    {
        $set: {
            'array.$.flag':'!array.$.flag' //<--
        }
    },false,true);