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

MongoDB में अलग क्रम में मानों के साथ सटीक ऐरे मिलान कैसे खोजें?


MongoDB में अलग क्रम में मानों के साथ सटीक ऐरे मिलान

अलग क्रम में मानों के साथ सटीक ऐरे मिलान खोजने के लिए, आप $all ऑपरेटर का उपयोग कर सकते हैं। आइए दस्तावेज़ों के साथ एक कलेक्शन बनाते हैं। निम्नलिखित क्वेरी है:

>db.exactMatchArrayDemo.insertOne({"StudentName":"David","StudentAge":22,"StudentGameScores":[45,78,98]}); 
{ "acknowledged" : true, "insertedId" : ObjectId("5c9c94702d6669774125246c") } 
>db.exactMatchArrayDemo.insertOne({"StudentName":"Chris","StudentAge":23,"StudentGameScores":[45,78]}); 
{ "acknowledged" : true, "insertedId" : ObjectId("5c9c94a42d6669774125246d") }

find() मेथड से सभी दस्तावेज़ प्रदर्शित करना

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

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

{ "_id" : ObjectId("5c9c94702d6669774125246c"), "StudentName" : "David", "StudentAge" : 22, "StudentGameScores" : [ 45, 78, 98 ] } 
{ "_id" : ObjectId("5c9c94a42d6669774125246d"), "StudentName" : "Chris", "StudentAge" : 23, "StudentGameScores" : [ 45, 78 ] }

सटीक ऐरे मिलान खोजने का क्वेरी

> db.exactMatchArrayDemo.find({ "StudentGameScores": { "$size" : 2, "$all": [ 78, 45 ] } }).pretty();

यह निम्नलिखित आउटपुट देगा (आकार 2 और दोनों मान 78, 45 वाले):


क्रम मायने नहीं रखता लेकिन आकार 3 हो

> db.exactMatchArrayDemo.find({ "StudentGameScores": { "$size" : 3, "$all": [ 78, 45 ] } }).pretty();

यह निम्नलिखित आउटपुट देगा (आकार 3 और दोनों मान 78, 45 वाले):

{ "_id" : ObjectId("5c9c94702d6669774125246c"), "StudentName" : "David", "StudentAge" : 22, "StudentGameScores" : [ 45, 78, 98 ] }
  1. - MongoDB एग्रीगेशन में अधिकतम मान के साथ सरणी तत्वों को कैसे मिलाएं और समूहित करें?

    इसके लिए, MongoDB में $group के साथ $max का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo510.insertOne( { details:[ { Name:Chris, Score:56 }, { Name:David, Score:45 } ] }); { acknowledged : tru

  1. - MongoDB में सरणी फील्ड के साथ काम करके सभी से मिलान कैसे करें?

    MongoDB में सभी से मिलान करने के लिए $all का उपयोग करें। $all ऑपरेटर उन डॉक्यूमेंट्स को चुनता है जहां फील्ड का मान एक सरणी है जिसमें सभी निर्दिष्ट तत्व होते हैं। आइए एक कलेक्शन बनाते हैं: > db.demo695.insertOne({ListOfValues:[100,200,500,800]}); { acknowledged : true, insertedId : ObjectId(5ea6d

  1. - MongoDB: ऐरे वैल्यूज के आधार पर दस्तावेजों को मैच करें जो विशिष्ट मान से अधिक हों

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