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

दस्तावेजों के लिए क्वेरी जहां MongoDB में सरणी का आकार 1 से अधिक है?

<घंटा/>

आप उन दस्तावेज़ों के लिए क्वेरी करने के लिए लंबाई का उपयोग कर सकते हैं जहां सरणी का आकार 1 से बड़ा है:

db.yourCollectionName.find({$where:"this.yourArrayDocumentName.length > 1"}).pretty();

उपरोक्त सिंटैक्स को समझने के लिए, आइए कुछ दस्तावेज़ों के साथ एक संग्रह बनाएँ। दस्तावेज़ों के साथ एक संग्रह बनाने के लिए क्वेरी इस प्रकार है:

>db.arrayLengthGreaterThanOne.insertOne({"StudentName":"Larry","StudentTechnicalSubje
ct":["Java","C","C++"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c6d6c4c0c3d5054b766a76a")
}
>db.arrayLengthGreaterThanOne.insertOne({"StudentName":"Maxwell","StudentTechnicalSu
bject":["MongoDB"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c6d6c660c3d5054b766a76b")
}
>db.arrayLengthGreaterThanOne.insertOne({"StudentName":"Maxwell","StudentTechnicalSu
bject":["MySQL","SQL Server","PL/SQL"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c6d6c800c3d5054b766a76c")
}

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

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

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

{
   "_id" : ObjectId("5c6d6c4c0c3d5054b766a76a"),
   "StudentName" : "Larry",
   "StudentTechnicalSubject" : [
      "Java",
      "C",
      "C++"
   ]
}
{
   "_id" : ObjectId("5c6d6c660c3d5054b766a76b"),
   "StudentName" : "Maxwell",
   "StudentTechnicalSubject" : [
      "MongoDB"
   ]
}
{
   "_id" : ObjectId("5c6d6c800c3d5054b766a76c"),
   "StudentName" : "Maxwell",
   "StudentTechnicalSubject" : [
      "MySQL",
      "SQL Server",
      "PL/SQL"
   ]
}

यहाँ उन दस्तावेज़ों के लिए क्वेरी है जहाँ सरणी आकार 1 से अधिक है। नीचे दी गई क्वेरी उन सभी दस्तावेज़ों को देगी जहाँ सरणी आकार 1 से अधिक है:

> db.arrayLengthGreaterThanOne.find({$where:"this.StudentTechnicalSubject.length > 1"}).pretty();

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

{
   "_id" : ObjectId("5c6d6c4c0c3d5054b766a76a"),
   "StudentName" : "Larry",
   "StudentTechnicalSubject" : [
      "Java",
      "C",
      "C++"
   ]
}
{
   "_id" : ObjectId("5c6d6c800c3d5054b766a76c"),
   "StudentName" : "Maxwell",
   "StudentTechnicalSubject" : [
      "MySQL",
      "SQL Server",
      "PL/SQL"
   ]
}

  1. MongoDB क्वेरी एक विशिष्ट मान से अधिक सरणी मान वाले दस्तावेज़ों से मिलान करने के लिए

    आप $elemMatch का उपयोग कर सकते हैं। $elemMatch ऑपरेटर उन दस्तावेज़ों से मेल खाता है जिनमें कम से कम एक तत्व के साथ एक सरणी फ़ील्ड होता है जो सभी निर्दिष्ट क्वेरी मानदंडों से मेल खाता है। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo701.insertOne({"ListOfValues":[100,200,300]}); { &

  1. MongoDB में एम्बेडेड दस्तावेज़ों की एक सरणी पूछें और दूसरे को धक्का दें?

    इसके लिए अपडेट के साथ $push का इस्तेमाल करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - db.demo573.insertOne(... {... _id :101,... SearchInformation :[... {... साइट :Facebook.com,.. . नंबरऑफहिट्स:100...},... {... साइट:ट्विटर.कॉम,... नंबरऑफहिट्स:300...}...]...}.. . );{ स्वीकृत :सच, insertId :101 } सं

  1. एक सरणी फ़ील्ड वाले दस्तावेज़ों से मिलान करने के लिए MongoDB क्वेरी

    सरणी फ़ील्ड वाले दस्तावेज़ों का मिलान करने के लिए, $elemMatch ऑपरेटर का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - db.demo592.insertOne(... {... id:102,... विवरण:[... {नाम:क्रिस, मान:500}, ... {नाम:डेविड, वैल्यू:900}...]...}...);{ स्वीकृत:सच, सम्मिलित आईडी:ऑब्जेक्ट आईडी (5e930d90fd2d90c177