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

MongoDB एग्रीगेट: संग्रह में रिकॉर्ड किए गए दस्तावेज़ों का औसत दैनिक औसत प्राप्त करें


रिकॉर्ड किए गए दस्तावेज़ों का औसत दैनिक औसत प्राप्त करने के लिए aggregate() का उपयोग करें। उसके अंदर $project और $group का उपयोग करें।

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

उदाहरण

> db.demo451.insertOne({ ... DueDate:new ISODate("2020-03-15T10:50:35.000Z"), ... Value: 10 ... } ... ); {    "acknowledged" : true,    "insertedId" : ObjectId("5e7b5c5d71f552a0ebb0a6e9") } > db.demo451.insertOne({ ... DueDate:new ISODate("2020-03-14T10:50:35.000Z"), ... Value: 10 ... } ... ); {    "acknowledged" : true,    "insertedId" : ObjectId("5e7b5c5d71f552a0ebb0a6ea") } > db.demo451.insertOne({ ... DueDate:new ISODate("2020-03-13T10:50:35.000Z"), ... Value: 10 ... } ... ); {    "acknowledged" : true,    "insertedId" : ObjectId("5e7b5c5d71f552a0ebb0a6eb") }

सभी दस्तावेज़ प्रदर्शित करें

> db.demo451.find();

आउटपुट:

{ "_id" : ObjectId("5e7b5c5d71f552a0ebb0a6e9"), "DueDate" : ISODate("2020-03- 15T10:50:35Z"), "Value" : 10 } { "_id" : ObjectId("5e7b5c5d71f552a0ebb0a6ea"), "DueDate" : ISODate("2020-03- 14T10:50:35Z"), "Value" : 10 } { "_id" : ObjectId("5e7b5c5d71f552a0ebb0a6eb"), "DueDate" : ISODate("2020-03- 13T10:50:35Z"), "Value" : 10 }

औसत दैनिक औसत प्राप्त करने की क्वेरी

> db.demo451.aggregate({ ...    $match: { ...       DueDate: { ...          $lt: new ISODate() ...       } ...    } ... }, { ...    $group: { ...       _id: null, ...       olderDate: { ...          $min: "$DueDate" ...       }, ...       sumValue: { ...          $sum: "$Value" ...       } ...    } ... }, { ... $project: { ...    _id: 0, ...    averageValue: { ...       $divide: ["$sumValue", { ...          $divide: [{ ...             $subtract: [new ISODate(), "$olderDate"] ...             }, 1000 * 60 * 60 * 24] ...          }] ...       } ...    } ... })

आउटपुट

{ "averageValue" : 2.475558456547562 }

  1. - MongoDB ग्रुप क्वेरी: दस्तावेज़ों में दोहराए गए अंकों की संख्या कैसे प्राप्त करें?

    ग्रुप क्वेरी के लिए, MongoDB $group का उपयोग करें और $sum के साथ संख्या प्राप्त करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo676.insertOne({Marks:87}); { acknowledged : true, insertedId : ObjectId(5ea41eed04263e90dac943f2) } > db.demo676.insertOne({Marks:75}); { acknowledged : true,

  1. - MongoDB में Collection में Documents की Number Limit करना

    Collection में documents की number limit करने के लिए capped: true set करें। Size भी वहीँ set करें। Capped Collection बनाना > db.createCollection( demo683, { capped: true, size: 5 ,max:4} ) { ok : 1 } > db.demo683.insertOne({Value:100}); { acknowledged : true, insertedId : ObjectId(5ea468afa7e

  1. - MongoDB aggregate से डुप्लिकेट नामों के संबंधित फील्ड मानों की गिनती प्राप्त करें

    उदाहरण देखते हैं और डॉक्यूमेंट्स के साथ एक कलेक्शन बनाते हैं: > db.demo558.insertOne( ... { _id : 100, CountryCode:101, details: [ ... { Name:Chris, Subject:MySQL }, ... { Name:Chris, Subject:MongoDB }, ... { Name:Chris, Subject:Java }, ... { Name:Bob, Subject:Python }, ... { Name:Bob, Subject:J