इस डेटा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: हाँ, लेकिन एक कामकाज है। अद्यतन उत्तर देखें। –