मिलान करने के लिए, MongoDB में $match का उपयोग करें और दो तिथियों के बीच डेटा प्राप्त करने के लिए, $gte और $lte का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं -
> db.demo560.insertOne({"value1":40,"value2":40,shippingDate:new ISODate("2020-02-26")});{
"acknowledged" : true, "insertedId" : ObjectId("5e8f3d5254b4472ed3e8e867")
}
> db.demo560.insertOne({"value1":20,"value2":60,shippingDate:new ISODate("2020-02-26")});{
"acknowledged" : true, "insertedId" : ObjectId("5e8f3d5254b4472ed3e8e868")
}
> db.demo560.insertOne({"value1":40,"value2":70,shippingDate:new ISODate("2020-03-31")});{
"acknowledged" : true, "insertedId" : ObjectId("5e8f3d5254b4472ed3e8e869")
}
> db.demo560.insertOne({"value1":40,"value2":130,shippingDate:new ISODate("2020-03-31")});{
"acknowledged" : true, "insertedId" : ObjectId("5e8f3d5254b4472ed3e8e86a")
} संग्रह से सभी दस्तावेज़ों को खोजने () विधि की सहायता से प्रदर्शित करें -
> db.demo560.find();
यह निम्नलिखित आउटपुट उत्पन्न करेगा -
{ "_id" : ObjectId("5e8f3d5254b4472ed3e8e867"), "value1" : 40, "value2" : 40, "shippingDate" : ISODate("2020-02-26T00:00:00Z") }
{ "_id" : ObjectId("5e8f3d5254b4472ed3e8e868"), "value1" : 20, "value2" : 60, "shippingDate" : ISODate("2020-02-26T00:00:00Z") }
{ "_id" : ObjectId("5e8f3d5254b4472ed3e8e869"), "value1" : 40, "value2" : 70, "shippingDate" : ISODate("2020-03-31T00:00:00Z") }
{ "_id" : ObjectId("5e8f3d5254b4472ed3e8e86a"), "value1" : 40, "value2" : 130, "shippingDate" : ISODate("2020-03-31T00:00:00Z") } दो तिथियों के बीच और एक विशिष्ट मूल्य के साथ डेटा लाने के लिए क्वेरी निम्नलिखित है। यहाँ, मान 1 40 हमारा विशिष्ट मूल्य है -
> db.demo560.aggregate([
... {
... $match: {
... "value1": 40,
... "shippingDate": {
... "$gte": ISODate("2020-02-26"),
... "$lte": ISODate("2020-03-31")
... }
... }
... },
... {
... $group: {
... "_id": "$shippingDate",
... total: {
... $sum: '$value2'
... },
... count: {
... $sum: 1
... }
... }
... }
... ]) यह निम्नलिखित आउटपुट उत्पन्न करेगा -
{ "_id" : ISODate("2020-03-31T00:00:00Z"), "total" : 200, "count" : 2 }
{ "_id" : ISODate("2020-02-26T00:00:00Z"), "total" : 40, "count" : 1 }