I'm using mongodb charts. is it possible to get the number of products within the time range of (eg: 12:00am - 5:00 AM)
For example I have 2 products added at 3:00AM and then I will have 5 products added at 4:00AM.
I'm counting the products by it's createdAt field.
I have a sample data like this:
Products: {
"_id": {
"$oid": "603c62272aacbc0017e2e4b5"
},
"amount": 110,
"user": {
"$oid": "5f7408cf7889580017c369a1"
},
"transaction_id": "cZ3fgffFI",
"createdAt": {
"$date": "2021-03-01T03:40:23.300Z"
},
"updatedAt": {
"$date": "2021-03-01T04:13:25.908Z"
},
"__v": 0,
},
{
"_id": {
"$oid": "603c62272aacbc0017e2e4b5"
},
"amount": 110,
"user": {
"$oid": "5f7408cf7889580017c369a1"
},
"transaction_id": "cZ3fgffFI",
"createdAt": {
"$date": "2021-03-01T03:40:23.300Z"
},
"updatedAt": {
"$date": "2021-03-01T04:13:25.908Z"
},
"__v": 0,
},
{
"_id": {
"$oid": "603c62272aacbc0017e2e4b5"
},
"amount": 110,
"user": {
"$oid": "5f7408cf7889580017c369a1"
},
"transaction_id": "cZ3fgffFI",
"createdAt": {
"$date": "2021-03-01T03:40:23.300Z"
},
"updatedAt": {
"$date": "2021-03-01T04:13:25.908Z"
},
"__v": 0,
}
Output:
I'm counting the products using the createdAt field.
3:00 AM 2 products 4:00 AM 5 products
You can simply use group by hours to get count per hours data like below,
also, you can add any other condition using match for other filters that you need.