5
考慮這個數據如何切換MongoDB中的數組元素的布爾字段?
{
"_id" : ...,
"array" : [
{ "name" : "value1","flag" : true } ,
{ "name" : "value2","flag" : false }
]
}
我想切換2個數組元素(從假到真)
我知道我可以用非常有用$位置操作這樣的更新的特定元素:
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);
謝謝,我擔心它是如此,所以這意味着,這不會是事務性的,對吧? –
@EranMedan:是的,但有一個解決方法。查看更新的答案。 –