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

MongoDB में समान सरणियों वाले दस्तावेज़ों की खोज करें और समानता मान द्वारा क्रमित करें

<घंटा/>

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

> db.demo123.insertOne({"ListOfSubject":['MySQL', 'MongoDB', 'Java']});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e2f24ac140daf4c2a3544b8")
}
> db.demo123.insertOne({"ListOfSubject":['Python', 'MongoDB', 'C']});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e2f24cd140daf4c2a3544b9")
}
> db.demo123.insertOne({"ListOfSubject":['MySQL', 'MongoDB', 'C++']});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e2f24ce140daf4c2a3544ba")
}

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

> db.demo123.find();

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

{ "_id" : ObjectId("5e2f24ac140daf4c2a3544b8"), "ListOfSubject" : [ "MySQL", "MongoDB", "Java" ] }
{ "_id" : ObjectId("5e2f24cd140daf4c2a3544b9"), "ListOfSubject" : [ "Python", "MongoDB", "C" ] }
{ "_id" : ObjectId("5e2f24ce140daf4c2a3544ba"), "ListOfSubject" : [ "MySQL", "MongoDB", "C++" ] }

समान सरणियों वाले दस्तावेज़ की खोज करने और उन्हें क्रमित करने के लिए क्वेरी निम्नलिखित है -

> var subjects = ['MySQL', 'MongoDB', 'Java'];
> db.demo123.aggregate([
...    {$unwind: "$ListOfSubject"},
...    {$match: {ListOfSubject:{ $in:subjects}}},
...    {$group: {_id: "$_id", number: {$sum: 1}}},
...    {$project: {_id: 1, number: 1, percentage: {$divide: ["$number",subjects.length]}}},
...    {$sort: {percentage: -1}}
... ]);

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

{ "_id" : ObjectId("5e2f24ac140daf4c2a3544b8"), "number" : 3, "percentage" : 1 }
{ "_id" : ObjectId("5e2f24ce140daf4c2a3544ba"), "number" : 2, "percentage" : 0.6666666666666666 }
{ "_id" : ObjectId("5e2f24cd140daf4c2a3544b9"), "number" : 1, "percentage" : 0.3333333333333333 }

  1. एक विशिष्ट संख्या से अधिक फ़ील्ड मान वाले MongoDB दस्तावेज़ों का मिलान करें और उन्हें प्राप्त करें?

    मिलान करने के लिए, MongoDB में $match का उपयोग करें। किसी खास संख्या से बड़े मान के लिए, $gt का इस्तेमाल करें. आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo730.insertOne({"Name" : "Chris", "Marks" : 33 }); {    "acknowledged" : true,   &n

  1. MongoDB में लूप के लिए मूल्य कैसे पुश करें?

    मूल्य को पुश करने के लिए, लूप के साथ सेव () का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > for(var v=1; v<7; v++) { ... db.demo739.save({Name:"Chris",SubjectName:"MongoDB"}); ... } WriteResult({ "nInserted" : 1 }) संग्रह से सभी दस्तावेज़ों को खोजने () व

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

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