MongoDB में $exists से फ़ील्ड खोजें और $unset से हटाएं
फ़ील्ड खोजने के लिए $exists और हटाने के लिए $unset का उपयोग करें। MongoDB में $unset ऑपरेटर किसी विशेष फ़ील्ड को हटा देता है।
आइए दस्तावेज़ों के साथ एक संग्रह बनाते हैं:
> db.demo562.insertOne({"Name":"Chris","Age":21});{ "acknowledged" : true, "insertedId" : ObjectId("5e8f4ae854b4472ed3e8e872") }
> db.demo562.insertOne({"Age":20});{ "acknowledged" : true, "insertedId" : ObjectId("5e8f4ae954b4472ed3e8e873") }
> db.demo562.insertOne({"Name":"David","Age":23});{ "acknowledged" : true, "insertedId" : ObjectId("5e8f4aea54b4472ed3e8e874") }
find() से सभी दस्तावेज़ प्रदर्शित करें:
> db.demo562.find();
आउटपुट:
रिकॉर्ड खोजकर हटाने का क्वेरी (Name फ़ील्ड मौजूद होने पर हटाएं):
> db.demo562.update( {Name:{$exists:true} },{ $unset: {"Name":""}},{multi:true}); WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 })
find()से सभी दस्तावेज़ प्रदर्शित करें:> db.demo562.find();आउटपुट:
व्याख्या:
{Name:{$exists:true}}उन दस्तावेज़ों से मेल खाता है जिनमेंNameफ़ील्ड है।$unsetउस फ़ील्ड को पूरी तरह से हटा देता है।multi:trueसभी मेल खाने वाले दस्तावेज़ों को अपडेट करता है (MongoDB 3.2+ मेंupdateManyपसंदीदा है)।