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

संग्रह में प्रति समूह अधिकतम विशेषता वाले MongoDB दस्तावेज़ प्राप्त करें?

<घंटा/>

आप $ समूह विवरण के साथ $sort ऑपरेटर का उपयोग करके संग्रह में प्रति समूह अधिकतम विशेषता वाले दस्तावेज़ प्राप्त कर सकते हैं।

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

> db.maxAttributePerGroup.insertOne({"StudentFirstName":"John","StudentLastName":"Smith
   ","StudentAge":29,"StudentId":10});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c76ee341e9c5dd6f1f78277")
}
> db.maxAttributePerGroup.insertOne({"StudentFirstName":"Carol","StudentLastName":"Taylo
   r","StudentAge":19,"StudentId":10});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c76ee4e1e9c5dd6f1f78278")
}
> db.maxAttributePerGroup.insertOne({"StudentFirstName":"Adam","StudentLastName":"Smit
   h","StudentAge":34,"StudentId":20});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c76ee631e9c5dd6f1f78279")
}
> db.maxAttributePerGroup.insertOne({"StudentFirstName":"Bob","StudentLastName":"Taylor"
   ,"StudentAge":58,"StudentId":20});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c76ee791e9c5dd6f1f7827a")
}

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

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

आउटपुट

{
   "_id" : ObjectId("5c76ee341e9c5dd6f1f78277"),
   "StudentFirstName" : "John",
   "StudentLastName" : "Smith",
   "StudentAge" : 29,
   "StudentId" : 10
}
{
   "_id" : ObjectId("5c76ee4e1e9c5dd6f1f78278"),
   "StudentFirstName" : "Carol",
   "StudentLastName" : "Taylor",
   "StudentAge" : 19,
   "StudentId" : 10
}
{
   "_id" : ObjectId("5c76ee631e9c5dd6f1f78279"),
   "StudentFirstName" : "Adam",
   "StudentLastName" : "Smith",
   "StudentAge" : 34,
   "StudentId" : 20
}
{
   "_id" : ObjectId("5c76ee791e9c5dd6f1f7827a"),
   "StudentFirstName" : "Bob",
   "StudentLastName" : "Taylor",
   "StudentAge" : 58,
   "StudentId" : 20
}

संग्रह में प्रति समूह अधिकतम विशेषता वाले दस्तावेज़ प्राप्त करने की क्वेरी यहां दी गई है -

> db.maxAttributePerGroup.aggregate([
   ... {"$sort":{"StudentId":1,"StudentAge":-1}},
   ... {$group:{
   ... "_id":"$StudentId",
   ... "StudentAge":{"$first":"$StudentAge"},
   ... "StudentFirstName":{"$first":"$StudentFirstName"},
   ... "StudentLastName":{"$first":"$StudentLastName"}
... }} ]).pretty();

आउटपुट

{
   "_id" : 20,
   "StudentAge" : 58,
   "StudentFirstName" : "Bob",
   "StudentLastName" : "Taylor"
}
{
   "_id" : 10,
   "StudentAge" : 29,
   "StudentFirstName" : "John",
   "StudentLastName" : "Smith"
}

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

    अंकों की क्रमबद्ध सूची प्राप्त करने के लिए, $sort का उपयोग करें। $सीमा:2 . का उपयोग करें कम से कम अंक वाले केवल दो ऐसे दस्तावेज़ प्रदर्शित करने के लिए। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo709.insertOne({Name:"John","Marks":75}); {    "acknowledged&q

  1. MongoDB क्वेरी $ या में सेट कई शर्तों के साथ दस्तावेज़ प्राप्त करने के लिए?

    आइए दस्तावेजों के साथ एक संग्रह बनाएं - db.demo711.insertOne({Name:David,,Marks:85,Age:23,status:Active});{ स्वीकृत :सच, insertId :ObjectId(5ea85c775d33e20ed1097b81 )} संग्रह से सभी दस्तावेज़ों को खोजने () विधि की सहायता से प्रदर्शित करें - db.demo711.find(); यह निम्नलिखित आउटपुट उत्पन्न करेगा -

  1. एक सूत्र के साथ संग्रह में दस्तावेजों के प्रत्येक क्षेत्र को अद्यतन करने के लिए MongoDB क्वेरी?

    संग्रह में दस्तावेज़ों के प्रत्येक फ़ील्ड को सूत्र के साथ अद्यतन करने के लिए, MongoDB अद्यतन () का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo749.insertOne({"details":[{"id":1,a:10},{"id":2,a:5},{"id":3,a:20}]}); {    "ackno