MongoDB में $exists: फ़ील्ड मौजूदगी जांचना
$exists ऑपरेटर जांचता है कि कोई फ़ील्ड दस्तावेज़ में मौजूद है या नहीं (मान null होने पर भी)। यह एम्बेडेड दस्तावेज़ों और सरणी तत्वों के अंदर फ़ील्ड्स के लिए भी काम करता है जब डॉट नोटेशन के साथ उपयोग किया जाता है।
नमूना डेटा: वैकल्पिक फ़ील्ड के साथ नेस्टेड सरणी
> db.demo322.insertOne({
'id': 1001,
'details': [{'Score': 10000, Name: "Bob"}, {'Score': 98000, Name: "Sam"}]
});
{ "acknowledged": true, "insertedId": ObjectId("5e5113e2f8647eb59e56206c") }
> db.demo322.insertOne({
'id': 10002,
'details': [{'Score': 9000}, {'Score': 91000}] // Name फ़ील्ड गायब
});
{ "acknowledged": true, "insertedId": ObjectId("5e5113faf8647eb59e56206d") }
क्वेरी: क्या किसी details तत्व में Name फ़ील्ड मौजूद है?
> db.demo322.find({"details.Name": {$exists: true}}).count() > 0;
परिणाम
True
पहले दस्तावेज़ के details सरणी में Name फ़ील्ड मौजूद है, इसलिए काउंट > 0 और परिणाम true है। आप {$exists: false} का उपयोग करके उन दस्तावेज़ों को ढूंढ सकते हैं जहां फ़ील्ड नहीं है।