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

MongoDB में फ़ील्ड खाली ऑब्जेक्ट {} या खाली ऐरे [] है या नहीं चेक करें

MongoDB में खाली ऑब्जेक्ट {} या खाली ऐरे [] वाले फ़ील्ड पहचानें

क्वेरी ऑपरेटर $gt और $exists के संयोजन से खाली ऑब्जेक्ट और खाली ऐरे में अंतर करें।

कलेक्शन बनाएं और विभिन्न प्रकार के डॉक्यूमेंट इन्सर्ट करें

> db.checkFieldDemo.insert([
  {_id: 1010, StudentDetails: {}},
  {_id: 1011, StudentDetails: [{StudentId: 1}]},
  {_id: 1012, StudentDetails: [{}]},
  {_id: 1013},
  {_id: 1014, StudentDetails: null},
  {_id: 1015, StudentDetails: {StudentId: 1}}
]);
BulkWriteResult({ "nInserted": 6 })

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

> db.checkFieldDemo.find().pretty();
{ "_id": 1010, "StudentDetails": {} }
{ "_id": 1011, "StudentDetails": [{"StudentId": 1}] }
{ "_id": 1012, "StudentDetails": [{}] }
{ "_id": 1013 }
{ "_id": 1014, "StudentDetails": null }
{ "_id": 1015, "StudentDetails": {"StudentId": 1} }

खाली ऑब्जेक्ट {} वाले डॉक्यूमेंट खोजें (खाली ऐरे नहीं)

> db.checkFieldDemo.find({
  "StudentDetails": {$gt: {}},
  "StudentDetails.0": {$exists: false}
});
{ "_id": 1015, "StudentDetails": {"StudentId": 1} }

लॉजिक समझें

कंडीशनअर्थमैचिंग _id
StudentDetails: {$gt: {}}फ़ील्ड मौजूद है और खाली ऑब्जेक्ट {} से बड़ा है (यानी नॉन-इम्प्टी ऑब्जेक्ट या नॉन-इम्प्टी ऐरे)1011, 1012, 1015
StudentDetails.0: {$exists: false}इंडेक्स 0 मौजूद नहीं है (यानी ऐरे नहीं है या खाली ऐरे है)1010, 1014, 1015
दोनों ANDनॉन-इम्प्टी ऑब्जेक्ट (ऐरे नहीं)1015

प्रत्येक _id का विश्लेषण

  • 1010: खाली ऑब्जेक्ट {} - $gt: {} फेल (खाली ऑब्जेक्ट {} से बड़ा नहीं)
  • 1011: नॉन-इम्प्टी ऐरे - $gt: {} पास, लेकिन .0 मौजूद है इसलिए दूसरा फेल
  • 1012: खाली ऑब्जेक्ट वाला ऐरे [{}] - $gt: {} पास (ऐरे नॉन-इम्प्टी), .0 मौजूद है इसलिए दूसरा फेल
  • 1013: फ़ील्ड मौजूद नहीं - दोनों फेल
  • 1014: null - $gt: {} फेल (null ऑब्जेक्ट नहीं)
  • 1015: नॉन-इम्प्टी ऑब्जेक्ट - दोनों पास ✓
  1. - MongoDB में फील्ड प्रोजेक्ट करना

    MongoDB एग्रीगेशन में $project और $cond का उपयोग करके डायनामिक फील्ड प्रोजेक्शन MongoDB में जब दस्तावेज़ों में अलग-अलग फील्ड नाम हों (जैसे Marks1/Score1), तो $project के साथ $cond और $ifNull का उपयोग करके एकीकृत स्कीमा में प्रोजेक्ट करें। उदाहरण: संग्रह और दस्तावेज़ बनाना > db.demo439.insertOne(

  1. - MongoDB संग्रह में खाली फ़ील्ड कैसे जांचें?

    MongoDB संग्रह में खाली फ़ील्ड जांचने के लिए $exists के साथ $eq ऑपरेटर का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo485.insertOne({"FirstName":"Chris","LastName":""});{    "acknowledged" : true,    "ins

  1. - MongoDB में _id फील्ड छिपाएं

    आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo575.insertOne({id:101,Information:{Name:Chris,Age:21}}); { acknowledged : true, insertedId : ObjectId(5e916a55581e9acd78b427f7) } > db.demo575.insertOne({id:102,Information:{Name:David,Age:20}}); { acknowledged : true, insertedId : ObjectId