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 }