async(function* (req, res, next) { const period = req.params.period; let data = []; if (period === 'thisMonth') { data = yield Visit.find({ visitTime: { $lt: moment().valueOf(), $gt: moment().startOf('month').valueOf(), }, }, 'visitTime'); } else { data = yield Visit.find({}, 'visitTime'); } res.json(data); })
async(function* (req, res, next) { const data = (yield Visit.find({}, 'visitTime').sort({visitTime: 1})); let length = data.length; let result = []; let n = 0; let startDate = moment(data[0].visitTime).startOf('days').valueOf(); result.push({ timestamp: startDate, count: 0, }); while (n < length - 1) { n++; if (data[n].visitTime > moment(result[result.length - 1].timestamp).add(1, 'd').valueOf()) { result.push({ timestamp: moment(data[n].visitTime).startOf('days').valueOf(), count: 1, }); } else { result[result.length - 1].count++; } } res.json(result); })