MongoDB में की अद्यतन संशोधक अर्थ विज्ञान, इस प्रकार अद्यतन संशोधक सेट किए बिना काम करता है के रूप में:
एक संग्रह उपयोगकर्ताओं के साथ एक मोंगो डीबी डाटाबेस db पर विचार करें। उपयोगकर्ताओं को निम्नलिखित प्रारूप का, एक दस्तावेज़ होते हैं:,
>db.users.update({"username":"joe"},{"$unset":{"relationships.terminated": "many"}});
मेरा प्रश्न है:
//Document for a user with username: joe
{
"_id" : ObjectId("4df5b9cf9f9a92b1584fff16"),
"relationships" : {
"enemies" : 2,
"friends" : 33,
"terminated" : "many"
},
"username" : "joe"
}
मैं समाप्त कुंजी को निकालना चाहते हैं, मैं इस प्रकार $ सेट किए बिना अद्यतन संशोधक निर्दिष्ट करना क्यों बजाय बस को निर्दिष्ट करने की, मैं $ सेट किए बिना काम करने के लिए समस्त कुंजी मान युग्म निर्दिष्ट करने के लिए है:
>db.users.update({"username":"joe"},{"$unset":{"relationships.terminated"}});
Mon Jun 13 13:25:57 SyntaxError: missing : after property id (shell):1
क्यों नहीं?
संपादित:
$ सेट नहीं करने के लिए जिस तरह से पूरे कुंजी वैल्यू पेयर को, JSON विनिर्देशों के अनुसार, या "1" बयान के, क्यों कर सकते हैं 'जोड़ने के लिए मूल्य के रूप में है, तो शैल "1" प्रतिस्थापन खुद करते हैं? ऐसी सुविधा क्यों उपलब्ध नहीं है? क्या इस तरह के समर्थन प्रदान करने के कोई नुकसान हैं?
धन्यवाद, कि उपयोगी है – DhruvPathak
क्यों नहीं 'db.users.update ({" उपयोगकर्ता नाम ":" जो आप किसी भी मूल्य (1 सामान्यतः मोंगो डॉक्स में प्रयोग किया जाता है) कोई बात नहीं
relationships.terminated
के वास्तविक मूल्य का उपयोग कर सकते "}, {" $ unset ": [" relationship.terminated "]});'? –