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

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


ऐरे फील्ड वाले दस्तावेजों को मैच करने के लिए, $elemMatch ऑपरेटर का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं:

> db.demo592.insertOne({
    "id":101,
    "details": [
        { "Name": "Chris", "Value": "200" },
        { "Name": "David", "Value": "800" }
    ]
}); { "acknowledged" : true, "insertedId" : ObjectId("5e930d8ffd2d90c177b5bcd6") }

> db.demo592.insertOne({
    "id":102,
    "details": [
        { "Name": "Chris", "Value": "500" },
        { "Name": "David", "Value": "900" }
    ]
}); { "acknowledged" : true, "insertedId" : ObjectId("5e930d90fd2d90c177b5bcd7") }

find() मेथड की मदद से कलेक्शन के सभी दस्तावेज प्रदर्शित करें:

> db.demo592.find();

यह निम्न आउटपुट देगा:

{ "_id" : ObjectId("5e930d8ffd2d90c177b5bcd6"), "id" : 101, "details" : [ { "Name" : "Chris", "Value" : "200" }, { "Name" : "David", "Value" : "800" } ] }
{ "_id" : ObjectId("5e930d90fd2d90c177b5bcd7"), "id" : 102, "details" : [ { "Name" : "Chris", "Value" : "500" }, { "Name" : "David", "Value" : "900" } ] }

मैच करने के लिए क्वेरी (Chris का Value 500+ और David का Value 600+ हो):

> db.demo592.find({
    "$and": [
        { "details": { "$elemMatch": { "Name": "Chris", "Value": { "$gte": "500" } } } },
        { "details": { "$elemMatch": { "Name": "David", "Value": { "$gte": "600" } } } }
    ]
});

यह निम्न आउटपुट देगा:

{ "_id" : ObjectId("5e930d90fd2d90c177b5bcd7"), "id" : 102, "details" : [ { "Name" : "Chris", "Value" : "500" }, { "Name" : "David", "Value" : "900" } ] }

  1. - MongoDB में $or और limit(1) से ऐरे एलिमेंट मैच करें

    MongoDB में $or ऑपरेटर से ऐरे एलिमेंट मैच करके पहला डॉक्यूमेंट प्राप्त करें ऐरे के अंदर ऑब्जेक्ट के किसी भी फ़ील्ड से मैच करने के लिए $or उपयोग करें और limit(1) से केवल पहला परिणाम लें। कलेक्शन बनाएं और डॉक्यूमेंट इन्सर्ट करें > db.matchElementInArrayDemo.insertOne({ StudentName: Chris, Stud

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

    MongoDB में किसी नेस्टेड फील्ड की मौजूदगी जांचने के लिए डॉट नोटेशन के साथ $exists ऑपरेटर का उपयोग करें। उदाहरण नेस्टेड ऑब्जेक्ट वाले दस्तावेज़ बनाएं: > db.findDocumentContainsSpecificFieldDemo.insertOne({ProductPrices: {Product1: 10, Product2: 50}}); { acknowledged : true, insertedId : ObjectId(

  1. MongoDB क्वेरी: आईडी को सरणी फ़ील्ड मान से बाहर कैसे करें MongoDB क्वेरी: आईडी को सरणी फ़ील्ड मान से बाहर कैसे करें

    इसके लिए $not के साथ $in ऑपरेटर का उपयोग करें। आइए एक संग्रह बनाते हैं: [ { id: 101, subjectid: [ 102 ] }, { id: 102, subjectid: [ 102 ] } ] सभी दस्तावेज़ देखने के लिए: db.collection.find() आउटपुट: [ { _id: ObjectId(5a934e000102030405000000),