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

MongoDB में ऑब्जेक्ट की सरणी में कैसे खोजें?

<घंटा/>

MongoDB में ऑब्जेक्ट की सरणी खोजने के लिए, आप $elemMatch ऑपरेटर का उपयोग कर सकते हैं। यह ऑपरेटर हमें किसी सरणी ऑब्जेक्ट से एक से अधिक घटक खोजने की अनुमति देता है।

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

> db.searchArrayDemo.insertOne({"EmployeeFirstName":"Adam","EmployeeLastName":"Smith","EmployeeDateOfBirth":new ISODate("1992-01-31 13:45:10"),
   ... "EmployeeSkills":["Spring and Hibernate Framework","Machine Learning"],
   ... "EmployeeDetails":[
      ... {
         ... "EmployeePerformanceArea":"Java",
         ... "Year":2001
      ... },
      ... {
      ... "EmployeePerformanceArea":"Python",
         ... "Year":2005
      ... }
   ... ]
... }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c77b3812386c62d05142a6a")
}
> db.searchArrayDemo.insertOne({"EmployeeFirstName":"Carol","EmployeeLastName":"Taylor",
   "EmployeeDateOfBirth":new ISODate("1993-04-21 11:10:20"),
   "EmployeeSkills":["C++","Cloud Computing"], "EmployeeDetails":[ {
   "EmployeePerformanceArea":"C++", "Year":1998 }, { "EmployeePerformanceArea":"C++
   Game Developer", "Year":2007 } ] } );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c77b58f2386c62d05142a6b")
}

संग्रह से सभी दस्तावेज़ों को ढूँढें () विधि की सहायता से प्रदर्शित करें। क्वेरी इस प्रकार है -

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

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

{
   "_id" : ObjectId("5c77b3812386c62d05142a6a"),
   "EmployeeFirstName" : "Adam",
   "EmployeeLastName" : "Smith",
   "EmployeeDateOfBirth" : ISODate("1992-01-31T13:45:10Z"),
   "EmployeeSkills" : [
      "Spring and Hibernate Framework",
      "Machine Learning"
   ],
   "EmployeeDetails" : [
      {
         "EmployeePerformanceArea" : "Java",
         "Year" : 2001
      },
      {
         "EmployeePerformanceArea" : "Python",
         "Year" : 2005
      }
   ]
}
{
   "_id" : ObjectId("5c77b58f2386c62d05142a6b"),
   "EmployeeFirstName" : "Carol",
   "EmployeeLastName" : "Taylor",
   "EmployeeDateOfBirth" : ISODate("1993-04-21T11:10:20Z"),
   "EmployeeSkills" : [
      "C++",
      "Cloud Computing"
   ],
   "EmployeeDetails" : [
      {
         "EmployeePerformanceArea" : "C++",
         "Year" : 1998
      },
      {
         "EmployeePerformanceArea" : "C++ Game Developer",
         "Year" : 2007
      }
   ]
}

यहाँ MongoDB में वस्तुओं की एक सरणी में खोज करने के लिए क्वेरी है।

केस 1

जब दिया गया तत्व मिल जाता है।

क्वेरी इस प्रकार है -

> db.searchArrayDemo.find({EmployeeDetails:{$elemMatch:{EmployeePerformanceArea : "C++", Year : 1998}}}).pretty();

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

{
   "_id" : ObjectId("5c77b58f2386c62d05142a6b"),
   "EmployeeFirstName" : "Carol",
   "EmployeeLastName" : "Taylor",
   "EmployeeDateOfBirth" : ISODate("1993-04-21T11:10:20Z"),
   "EmployeeSkills" : [
      "C++",
      "Cloud Computing"
   ],
   "EmployeeDetails" : [
      {
         "EmployeePerformanceArea" : "C++",
         "Year" : 1998
      },
      {
         "EmployeePerformanceArea" : "C++ Game Developer",
         "Year" : 2007
      }
   ]
}

केस 2

जब दिया गया तत्व नहीं मिलता है।

क्वेरी इस प्रकार है -

> db.searchArrayDemo.find({EmployeeDetails:{$elemMatch:{EmployeePerformanceArea : "C", Year : 1996}}}).pretty();

यहां दिया गया तत्व नहीं मिलने पर आपको कुछ नहीं मिलेगा


  1. MongoDB में सरणी में कैसे संलग्न करें?

    MongoDB में सरणी में जोड़ने के लिए, $concatArrays का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - db.demo435.insertOne({FirstName:[John],LastName:[Doe]});{ स्वीकृत :सच, insertId :ObjectId(5e7719c6bbc41e36cc3cae99)} संग्रह से सभी दस्तावेज़ों को खोजने () विधि की सहायता से प्रदर्शित करें - db

  1. MongoDB में किसी ऑब्जेक्ट के अंदर किसी सरणी में कोई आइटम कैसे सम्मिलित करें?

    किसी वस्तु के अंदर पहले से बनाए गए सरणी में कोई आइटम सम्मिलित करने के लिए, MongoDB $push का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - db.demo449.insertOne(... {... details1:{... details2:[{... _id:new ObjectId(),... Name:Chris...}] ,... विवरण 3:[{... _id:new ObjectId (),... नाम:डेविड...}]

  1. MongoDB में किसी ऑब्जेक्ट सरणी से आइटम कैसे प्राप्त करें?

    ऑब्जेक्ट एरे से आइटम प्राप्त करने के लिए, एग्रीगेट () का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo459.insertOne( ... { "_id" : 1, ... "Information" : [ ...    { ...       "Name" : "Chris", ...