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

एक संग्रह में दर्ज दस्तावेजों की औसत दैनिक औसत गणना प्राप्त करने के लिए MongoDB कुल?

<घंटा/>

रिकॉर्ड किए गए दस्तावेज़ों की औसत दैनिक औसत गणना प्राप्त करने के लिए, कुल () का उपयोग करें। उसके भीतर, $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:65}); :65});{ स्वीकृत :सच, insertId :ObjectId(5ea41ef804263e90dac943f6)} संग्रह से सभी दस्तावेज़ों को खोजने () विधि की सहायता से प्रदर्शित करें -

  1. MongoDB में संग्रह में दस्तावेज़ों की संख्या सीमित करें?

    किसी संग्रह में दस्तावेज़ों की संख्या सीमित करने के लिए, कैप्ड − true . सेट करें . वहां आकार स्वयं सेट करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.createCollection( "demo683", { capped: true, size: 5 ,max:4} ) { "ok" : 1 } > db.demo683.insertOne({Value:100}); {  

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

    आइए एक उदाहरण देखें और दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo558.insertOne( ... { ...    _id : 100, ...    CountryCode:101, ...    details: [ ...       { ...          Name:"Chris", ...       &nbs