- 需求的场景描述(希望解决的问题)
数据库中有个叫 books 的集合,每条记录有个字段 date,是用 Date 格式记录的,我想查询2个指定日期直接的记录的数量,不知道该怎么写表达式,有没有朋友可以给点思路的,谢谢
刚才看了一下 db.command.aggregate.lt 的实现方法,也是直接将传入的数值相减
E.lessThan = function(e) {
return this.comp(e) < 0
}
E.lt = E.lessThan
- 希望提供的能力
数据的比较支持 Date 类型
好烦啊,where的日期比较多简单,换成aggregate().match()就出错,where返回的是collection类型,后面跟aggregate也报错。。。这个聚合真垃圾
时间日期什么的存成时间戳就很灵活了,比如查今天新增的产品数
其实lt gt等都是支持Date的
前面试了一下,这个
$.lt([
'20190101'
,
'20190201'
])
可以用,我就把日期转乘字符串来比较了,就是表达式写得真长,整个写完有800个字符。。
谢谢提醒 collection.where 的 lt 方法,但是我用这个来比较日期好像还是没成功,不知道哪的错
反反复复用这些,烦死了。。
$.and([ $.lt([$.concat([ $.arrayElemAt([$.split([$.arrayElemAt([$.split([