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

MongoDB के साथ उप-दस्तावेज़ में सरणी कैसे फ़िल्टर करें?

<घंटा/>

आप मैच लागू करने से पहले एग्रीगेट का उपयोग कर सकते हैं और सरणी सूची को खोल सकते हैं। उपरोक्त अवधारणा को समझने के लिए, आइए हम दस्तावेजों के साथ एक संग्रह बनाते हैं। दस्तावेज़ के साथ संग्रह बनाने की क्वेरी इस प्रकार है:

> db.filterArray.insertOne( { "L": [{ "N":1 }, { "N":2 } , { "N":3 }, { "N":4 }, { "N":5 } ]});

उपरोक्त क्वेरी को चलाने के बाद निम्नलिखित दिखाई देता है:

{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c6d63f2734e98fc0a434aeb")
}

खोज () विधि की सहायता से संग्रह से दस्तावेज़ प्रदर्शित करें। क्वेरी इस प्रकार है:

> db.filterArray.find().pretty();

निम्न आउटपुट है:

{
   "_id" : ObjectId("5c6d63f2734e98fc0a434aeb"),
   "L" : [
      {
         "N" : 1
      },
      {
         "N" : 2
      },
      {
         "N" : 3
      },
      {
         "N" : 4
      },
      {
         "N" : 5
      }
   ]
}

यहाँ MongoDB के साथ उप-दस्तावेज़ में सरणी फ़िल्टर करने के लिए क्वेरी है। हमने 3 से अधिक फ़ील्ड प्राप्त करने के लिए $gt का उपयोग किया है:

> db.filterArray.aggregate({ $match:{_id:ObjectId("5c6d63f2734e98fc0a434aeb")}}, {
$unwind:'$L'}, {$match:{'L.N':{$gt:3}}},
{$group:{_id:'$_id',subDocument:{$push:'$L.N'}}}).pretty();

निम्न आउटपुट है:

{
   "_id" : ObjectId("5c6d63f2734e98fc0a434aeb"),
   "subDocument" : [
      4,
      5
   ]
}

  1. MongoDB के साथ सरणी में आइटम कैसे गिनें?

    सरणी में आइटम गिनने के लिए, लंबाई का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo440.insertOne( ...    { ...       "Name":"Chris", ...       "ListOfFriends":["John","Sam","Mike"] .

  1. MongoDB में किसी सरणी के आधार पर दस्तावेज़ों को कैसे फ़िल्टर करें?

    किसी सरणी के आधार पर दस्तावेज़ों को फ़िल्टर करने के लिए, $elemMatch का उपयोग करें। $elemMatch ऑपरेटर एक सरणी फ़ील्ड वाले दस्तावेज़ों से मेल खाता है। आइए हम दस्तावेजों के साथ एक संग्रह बनाते हैं - > db.demo453.insertOne( ... { _id: 101, details: [ { Name: "David", Marks: 60 }, { Name: &q

  1. MongoDB के साथ एम्बेडेड दस्तावेज़ की सरणी पर फ़िल्टर क्वेरी?

    इसके लिए MongoDB में समुच्चय () का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo736.insertOne( ...    { ...       "_id": "101", ...       "details1": [ ...          { ...     &