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

उन दस्तावेज़ों के लिए MongoDB क्वेरी जिनके सरणी तत्वों का कोई विशिष्ट मान नहीं है

<घंटा/>

ऐसे मामलों के लिए, $elemMatch का उपयोग करें। यह ऑपरेटर उन दस्तावेज़ों से मेल खाता है जिनमें कम से कम एक तत्व के साथ एक सरणी फ़ील्ड होता है जो सभी निर्दिष्ट क्वेरी मानदंडों से मेल खाता है।

आइए दस्तावेजों के साथ एक संग्रह बनाएं -

> db.demo239.insertOne(
...   {
...      "Name" : "Chris",
...      "details" : [
...         { "DueDate" : new ISODate("2019-01-21"), "ProductPrice" : 1270 },
...         { "DueDate" : new ISODate("2020-02-12"), "ProductPrice" : 2000 }
...      ]
...   }
...);
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e441c6bf4cebbeaebec5157")
}
> db.demo239.insertOne(
...   {
...      "Name" : "David",
...      "details" : [
...         { "DueDate" : new ISODate("2018-11-11"), "ProductPrice" : 1450},
...         { "DueDate" : new ISODate("2020-02-12") }
...      ]
...   }
...);
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e441c6cf4cebbeaebec5158")
}

संग्रह से सभी दस्तावेज़ों को खोजने () विधि की सहायता से प्रदर्शित करें -

> db.demo239.find();

यह निम्नलिखित आउटपुट उत्पन्न करेगा -

{
   "_id" : ObjectId("5e441c6bf4cebbeaebec5157"), "Name" : "Chris", "details" : [
      { "DueDate" : ISODate("2019-01-21T00:00:00Z"), "ProductPrice" : 1270 },
      { "DueDate" : ISODate("2020-02-12T00:00:00Z"), "ProductPrice" : 2000 }
   ]
}
{
   "_id" : ObjectId("5e441c6cf4cebbeaebec5158"), "Name" : "David", "details" : [
      { "DueDate" : ISODate("2018-11-11T00:00:00Z"), "ProductPrice" : 1450 },
      { "DueDate" : ISODate("2020-02-12T00:00:00Z") }
   ]
}

निम्नलिखित दस्तावेज़ों को लाने के लिए क्वेरी है जिनके सरणी तत्वों का कोई विशिष्ट मान नहीं है -

> db.demo239.find({ "details": { "$elemMatch": { "DueDate": { "$exists": true }, "ProductPrice": { "$exists": false } } } })

यह निम्नलिखित आउटपुट उत्पन्न करेगा -

{ "_id" : ObjectId("5e441c6cf4cebbeaebec5158"), "Name" : "David", "details" : [ { "DueDate" : ISODate("2018-11-11T00:00:00Z"), "ProductPrice" : 1450 }, { "DueDate" : ISODate("2020-02-12T00:00:00Z") } ] }

  1. MongoDB दस्तावेज़ों में किसी विशिष्ट फ़ील्ड से सरणी तत्वों की गिनती प्राप्त करें?

    किसी विशिष्ट फ़ील्ड से सरणी तत्वों की गणना करने के लिए, MongoDB में $size का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo723.insertOne({"Subject":["MySQL","MongoDB"]}); {    "acknowledged" : true,    "insertedId&quo

  1. MongoDB के साथ विशिष्ट नेस्टेड दस्तावेज़ों के लिए वस्तुओं की एक सरणी पर पूछताछ?

    नेस्टेड दस्तावेज़ों के लिए ऑब्जेक्ट्स की एक सरणी पर क्वेरी करने के लिए, ढूंढें () का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo763.insertOne( ...    { ...       _id:1, ...       CountryName:"US", ...       "s

  1. एक विशिष्ट मान प्राप्त करने के लिए MongoDB में एक सरणी क्वेरी करें

    किसी सरणी से एक विशिष्ट मान प्राप्त करने के लिए, $project के साथ-साथ समुच्चय () का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo761.insertOne( ...    { ...       "details": [ ...          { ...