आप इसके लिए $pull ऑपरेटर का उपयोग कर सकते हैं। आइए पहले दस्तावेजों के साथ एक संग्रह बनाएं। यहाँ, हमने एक खाली वस्तु भी जोड़ी है -
> db.removeEmptyObjectsDemo.insertOne(
{
"_id" :101,
"LoginDate" :new ISODate(),
"UserDetails" : [
{
"UserName" : "John"
},
{
},
{
"UserName" : "Sam"
}
]
}
);
{ "acknowledged" : true, "insertedId" : 101 } खोज () विधि की मदद से संग्रह से सभी दस्तावेजों को प्रदर्शित करने के लिए क्वेरी निम्नलिखित है -
> db.removeEmptyObjectsDemo.find().pretty();
यह निम्नलिखित आउटपुट देगा -
{
"_id" : 101,
"LoginDate" : ISODate("2019-05-25T04:46:29.505Z"),
"UserDetails" : [
{
"UserName" : "John"
},
{
},
{
"UserName" : "Sam"
}
]
} ऑब्जेक्ट-एरे में खाली ऑब्जेक्ट्स को हटाने के लिए क्वेरी निम्नलिखित है -
> db.removeEmptyObjectsDemo.update(
{},
{ "$pull": { "UserDetails": { "UserName": { "$exists": false } } } },
{ "multi": true }
);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) आइए उपरोक्त संग्रह से दस्तावेजों की जांच करें -
> db.removeEmptyObjectsDemo.find().pretty();
यह निम्नलिखित आउटपुट का उत्पादन करेगा। खाली वस्तु को सफलतापूर्वक हटा दिया गया -
{
"_id" : 101,
"LoginDate" : ISODate("2019-05-25T04:46:29.505Z"),
"UserDetails" : [
{
"UserName" : "John"
},
{
"UserName" : "Sam"
}
]
}