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

कैसे डुप्लिकेट आईडी के आधार पर MongoDB में रेटिंग औसत प्राप्त करने के लिए?


MongoDB में औसत के लिए, $avg. आइए दस्तावेजों के साथ एक संग्रह बनाएं। यहां, हमारे पास प्रत्येक के लिए रेटिंग के साथ डुप्लीकेट आईडी हैं -

> db.demo606.insertOne({id:1,rating:5});{
   "acknowledged" : true, "insertedId" : ObjectId("5e972dfbf57d0dc0b182d623")
}
> db.demo606.insertOne({id:1,rating:4});{
   "acknowledged" : true, "insertedId" : ObjectId("5e972dfef57d0dc0b182d624")
}
> db.demo606.insertOne({id:2,rating:3});{
   "acknowledged" : true, "insertedId" : ObjectId("5e972e09f57d0dc0b182d625")
}
> db.demo606.insertOne({id:1,rating:null});{
   "acknowledged" : true, "insertedId" : ObjectId("5e972e0ef57d0dc0b182d626")
}
> db.demo606.insertOne({id:2,rating:null});{
   "acknowledged" : true, "insertedId" : ObjectId("5e972e15f57d0dc0b182d627")
}
> db.demo606.insertOne({id:2,rating:3});{
   "acknowledged" : true, "insertedId" : ObjectId("5e972e1bf57d0dc0b182d628")
}

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

> db.demo606.find();

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

{ "_id" : ObjectId("5e972dfbf57d0dc0b182d623"), "id" : 1, "rating" : 5 }
{ "_id" : ObjectId("5e972dfef57d0dc0b182d624"), "id" : 1, "rating" : 4 }
{ "_id" : ObjectId("5e972e09f57d0dc0b182d625"), "id" : 2, "rating" : 3 }
{ "_id" : ObjectId("5e972e0ef57d0dc0b182d626"), "id" : 1, "rating" : null }
{ "_id" : ObjectId("5e972e15f57d0dc0b182d627"), "id" : 2, "rating" : null }
{ "_id" : ObjectId("5e972e1bf57d0dc0b182d628"), "id" : 2, "rating" : 3 }

डुप्लीकेट आईडी के आधार पर रेटिंग औसत प्राप्त करने के लिए क्वेरी निम्नलिखित है -

> db.demo606.aggregate(
...    [
...       { "$group": {
...          "_id": "$id",
...          "AverageRating": { "$avg": { "$ifNull": ["$rating",0 ] } }
...       }}
...    ]
... );

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

{ "_id" : 2, "AverageRating" : 2 }
{ "_id" : 1, "AverageRating" : 3 }

  1. MongoDB 3.x में डुप्लिकेट रिकॉर्ड कैसे निकालें?

    डुप्लिकेट रिकॉर्ड को हटाने के लिए, एग्रीगेट () का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - db.demo438.insertOne({FirstName:Bob});{ acknowledgeed :true, insertId :ObjectId(5e775c44bbc41e36cc3caea. demo438.insertOne({FirstName:David});{ स्वीकृत :सच, insertId :ObjectId(5e775c47bbc41e36cc3ca

  1. MongoDB में किसी सरणी के आधार पर दस्तावेज़ों को कैसे फ़िल्टर करें?

    किसी सरणी के आधार पर दस्तावेज़ों को फ़िल्टर करने के लिए, $elemMatch का उपयोग करें। $elemMatch ऑपरेटर एक सरणी फ़ील्ड वाले दस्तावेज़ों से मेल खाता है। आइए हम दस्तावेजों के साथ एक संग्रह बनाते हैं - > db.demo453.insertOne( ... { _id: 101, details: [ { Name: "David", Marks: 60 }, { Name: &q

  1. MongoDB में सरणी चौराहे का डेटा कैसे प्राप्त करें?

    MongoDB में सरणी इंटरेक्शन के लिए, कुल () में $setIntersection का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo625.insertOne( ...    { ...       Name: "John", ...       Marks: [56,98,60] ...    } ... ); {    &qu