小程序
小游戏
企业微信
微信支付
扫描小程序码分享
比如我只给开始和结束时间,有什么api可以直接生成一个,从开始到结束的区间数组吗?
因为我想搞一个数据统计,确定每一天都有,哪怕是0呢。不然就只会显示对应有数据的那天,中间就会空几个。
.group({ _id: '$createTime', //根据日期进行分组,只会显示有数据的那一天 })
1 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
const dateRange = 7 //7天的区间 const day = 86400000 //60 * 60 * 1000 * 24 const now = $.dateFromString({ //当前时间 //将日期字符串转化为日期对象 dateString: '2022-09-01' }) db.collection('deal').aggregate() .project({ //数字遍历 createTime: $.map({ input: $.range([0, dateRange]), //$.range 生成一个区间数组 这里传的7,[0,1,2,3,4,5,6] as: 'item', in: $.dateToString({ //将日期对象格式化为 年月日 //$.multiply 相乘 0*day 1*day 2*day ... //$.subtract 相减 now-0*day now-1*day now-2*day ... date: $.subtract([now, $.multiply(['$$item', day])]), format: '%Y-%m-%d' }), }) }).end()
仅供参考哈~~ dateRange = 7 就是最近7天了
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
const dateRange = 7 //7天的区间 const day = 86400000 //60 * 60 * 1000 * 24 const now = $.dateFromString({ //当前时间 //将日期字符串转化为日期对象 dateString: '2022-09-01' }) db.collection('deal').aggregate() .project({ //数字遍历 createTime: $.map({ input: $.range([0, dateRange]), //$.range 生成一个区间数组 这里传的7,[0,1,2,3,4,5,6] as: 'item', in: $.dateToString({ //将日期对象格式化为 年月日 //$.multiply 相乘 0*day 1*day 2*day ... //$.subtract 相减 now-0*day now-1*day now-2*day ... date: $.subtract([now, $.multiply(['$$item', day])]), format: '%Y-%m-%d' }), }) }).end()
仅供参考哈~~ dateRange = 7 就是最近7天了