Как я могу выбрать даты из моего mongodb только для этого месяца, у меня есть date:{type:String}
и мой формат: mm-dd-yyyy
ex: 09-03-2019
:
Вот мой маршрутизатор, чтобы получить отдельные даты, а затем считать их, но не за месяцы:
router.get('/blooddonationarea', function(req, res) {
sess=req.session;
Blooddonation.aggregate([{$group: {_id : "$date" , count :{$sum:1}}},{$sort: {_id: 1}}],function(err, date) {
res.json({ success: true, date: date });
});
});
дает:
[ { _id: '04-11-2019', count6: 1 },
{ _id: '05-21-2019', count6: 1 },
{ _id: '10-11-2019', count6: 3 },
{ _id: '10-22-2019', count6: 1 } ]
Мой желаемый вывод - отображать даты, например, где date = month.now()
, тогда он будет показывать только месяцы только для 01-дд-гггг.
Я пробовал это:
const startOfMonth = moment().startOf('month').format('MM-DD-YYYY')
const endOfMonth = moment().endOf('month').format('MM-DD-YYYY')
Blooddonation.aggregate([
{ "$match": {
"date": { "$gte": startOfMonth, "$lte": endOfMonth }
}},
{ "$group": { "_id": "$date", "count": { "$sum": 1 } } },
{ "$sort": { "_id": 1 } }],function(err, date) {
res.json({ success: true, date: date });
console.log("dates are" + date);
});
});