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

MongoDB में विशिष्ट फील्ड वाले दस्तावेज़ कैसे खोजें?

MongoDB में किसी नेस्टेड फील्ड की मौजूदगी जांचने के लिए डॉट नोटेशन के साथ $exists ऑपरेटर का उपयोग करें।

उदाहरण

नेस्टेड ऑब्जेक्ट वाले दस्तावेज़ बनाएं:

> db.findDocumentContainsSpecificFieldDemo.insertOne({"ProductPrices": {"Product1": 10, "Product2": 50}});
{ "acknowledged" : true, "insertedId" : ObjectId("5cf2385bb64a577be5a2bc14") }
> db.findDocumentContainsSpecificFieldDemo.insertOne({"ProductPrices": {"Product3": 150, "Product7": 100, "Product5": 250}});
{ "acknowledged" : true, "insertedId" : ObjectId("5cf2387eb64a577be5a2bc15") }

दस्तावेज़ देखें:

> db.findDocumentContainsSpecificFieldDemo.find().pretty();
{ "_id" : ObjectId("5cf2385bb64a577be5a2bc14"), "ProductPrices" : { "Product1" : 10, "Product2" : 50 } }
{ "_id" : ObjectId("5cf2387eb64a577be5a2bc15"), "ProductPrices" : { "Product3" : 150, "Product7" : 100, "Product5" : 250 } }

ProductPrices.Product2 फील्ड वाले दस्तावेज़ ढूंढें

> db.findDocumentContainsSpecificFieldDemo.find({"ProductPrices.Product2": {$exists: true}});

आउटपुट:

{ "_id" : ObjectId("5cf2385bb64a577be5a2bc14"), "ProductPrices" : { "Product1" : 10, "Product2" : 50 } }

व्याख्या:

  • ProductPrices.Product2 - डॉट नोटेशन नेस्टेड फील्ड तक पहुंचता है
  • $exists: true - फील्ड मौजूद है (मान null भी हो तो भी)
  • पहला दस्तावेज़ मेल खाता है क्योंकि Product2 मौजूद है
  • दूसरा दस्तावेज़ नहीं क्योंकि Product2 नहीं है

$exists व्यवहार

दस्तावेज़{field: {$exists: true}}{field: {$exists: false}}
{a: 1}मेलनहीं
{a: null}मेलनहीं
{b: 2}नहींमेल
{}नहींमेल

नोट: $exists: true नल मान वाले फील्ड के लिए भी सही लौटाता है। केवल फील्ड अनुपस्थिति के लिए $exists: false उपयोग करें।

  1. - MongoDB दस्तावेजों में विशिष्ट मान से ऊपर के मान खोजें

    विशिष्ट मान से ऊपर के मान खोजने के लिए, MongoDB में $gte का उपयोग करके सिंटैक्स निम्न है: db.yourCollectionName.find({yourFieldName:{$gte:yourValue}}); आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo571.insertOne({Price:140}); { acknowledged : true, insertedId : ObjectId(5e909b3439cfeaaf0b

  1. - MongoDB क्वेरी: ऐरे फील्ड वाले दस्तावेजों को मैच करें

    ऐरे फील्ड वाले दस्तावेजों को मैच करने के लिए, $elemMatch ऑपरेटर का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo592.insertOne({ id:101, details: [ { Name: Chris, Value: 200 }, { Name: David, Value: 800 } ] }); { acknowledged : true, insertedId : Ob

  1. - MongoDB में विशिष्ट स्ट्रिंग वाले दस्तावेज खोजें

    कौन सा दस्तावेज विशिष्ट स्ट्रिंग रखता है, यह खोजने के लिए find() के साथ $regex का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo597.insertOne({Name:John Doe}); { acknowledged : true, insertedId : ObjectId(5e947ae3f5f1e70e134e2690) } > db.demo597.insertOne({Name:John Smith})