Ben böyle çok faydalı $ pozisyonel operatörü kullanarak belirli bir eleman güncelleyebilirsiniz biliyorum 2 dizi elemanını (yanlıştan doğruya)MongoDB'deki bir Array öğesinde bir Boole alanını nasıl değiştirirsiniz?
geçiş istiyorum bu verileri
{
"_id" : ...,
"array" : [
{ "name" : "value1","flag" : true } ,
{ "name" : "value2","flag" : false }
]
}
düşünün:
db.myCollection.update(
{'array.name':'value2'},
{
$set: {
'array.$.flag':true
}
},false,true);
Ancak, değer konumu için $ konumsal operatörünü de kullanmanın bir yolu var mı?
örn. bunun gibi?
db.myCollection.update(
{'array.name':'value2'},
{
$set: {
'array.$.flag':'!array.$.flag' //<--
}
},false,true);
Teşekkürler, korkuyordum, yani, bu, işlemsel olmayacak demektir, değil mi? –
@ EranMedan: evet, ama bir çözüm var. Güncellenmiş cevaba bakınız. –