Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MongoDB

MongoDB से खाली फ़ील्ड्स कैसे हटाएं

$unset ऑपरेटर के साथ खाली फ़ील्ड्स हटाएं

MongoDB में किसी फ़ील्ड को पूरी तरह से हटाने (न केवल खाली स्ट्रिंग सेट करने) के लिए $unset ऑपरेटर का उपयोग करें। यह फ़ील्ड को डॉक्यूमेंट से हटा देता है।

उदाहरण: संग्रह बनाना

> db.removeEmptyFieldsDemo.insertOne({"StudentName": ""});
{ "acknowledged": true, "insertedId": ObjectId("5ce92b9578f00858fb12e919") }
> db.removeEmptyFieldsDemo.insertOne({"StudentName": "Chris"});
{ "acknowledged": true, "insertedId": ObjectId("5ce92b9878f00858fb12e91a") }
> db.removeEmptyFieldsDemo.insertOne({"StudentName": ""});
{ "acknowledged": true, "insertedId": ObjectId("5ce92b9c78f00858fb12e91b") }
> db.removeEmptyFieldsDemo.insertOne({"StudentName": "Robert"});
{ "acknowledged": true, "insertedId": ObjectId("5ce92ba078f00858fb12e91c") }

सभी डॉक्यूमेंट्स देखना

> db.removeEmptyFieldsDemo.find();
{ "_id": ObjectId("5ce92b9578f00858fb12e919"), "StudentName": "" }
{ "_id": ObjectId("5ce92b9878f00858fb12e91a"), "StudentName": "Chris" }
{ "_id": ObjectId("5ce92b9c78f00858fb12e91b"), "StudentName": "" }
{ "_id": ObjectId("5ce92ba078f00858fb12e91c"), "StudentName": "Robert" }

खाली फ़ील्ड्स हटाने की क्वेरी

updateMany के साथ $unset का उपयोग करके उन सभी डॉक्यूमेंट्स से StudentName फ़ील्ड हटाएं जहां यह खाली स्ट्रिंग है:

> db.removeEmptyFieldsDemo.updateMany(
    {"StudentName": ""},
    { $unset: {"StudentName": 1} }
);
{ "acknowledged": true, "matchedCount": 2, "modifiedCount": 2 }

परिणाम जांचना

> db.removeEmptyFieldsDemo.find();
{ "_id": ObjectId("5ce92b9578f00858fb12e919") }
{ "_id": ObjectId("5ce92b9878f00858fb12e91a"), "StudentName": "Chris" }
{ "_id": ObjectId("5ce92b9c78f00858fb12e91b") }
{ "_id": ObjectId("5ce92ba078f00858fb12e91c"), "StudentName": "Robert" }

जिन डॉक्यूमेंट्स में StudentName खाली स्ट्रिंग था, उनसे वह फ़ील्ड पूरी तरह हटा दी गई है।

अंतर: $set: {"StudentName": ""} फ़ील्ड को खाली स्ट्रिंग पर सेट करता है (फ़ील्ड मौजूद रहती है), जबकि $unset फ़ील्ड को पूरी तरह हटा देता है।

  1. - MongoDB संग्रह से डेटा कैसे पुनर्प्राप्त करें?

    संग्रह से एकल दस्तावेज़ लौटाने के लिए MongoDB में findOne() का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo463.insertOne({"StudentName":"Chris Brown","StudentAge":21,"StudentCountryName":"US"});{    "acknowledged&q

  1. - MongoDB में दो सरणियों को अनविंड करें

    अनविंड करने के लिए, $unwind का उपयोग करें। $unwind इनपुट दस्तावेज़ों से सरणी फ़ील्ड को डीस्ट्रक्चर करता है ताकि प्रत्येक तत्व के लिए एक दस्तावेज़ आउटपुट हो। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo515.insertOne( { details1: [ 4700100004 ], details2: [ Not Give

  1. - MongoDB में शर्त से मेल खाने वाले कई सब-डॉक्यूमेंट्स से फ़ील्ड कैसे प्राप्त करें?

    कई सब-डॉक्यूमेंट्स से फ़ील्ड प्राप्त करने के लिए, $unwind के साथ MongoDB एग्रीगेट का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo671.insertOne( { details : [ { id : 1 }, { CountryName:US, details1 : [