Mongodb 查询指定时间范围的数据

今天用mongodb查昨天某个collection产生的记录数量,在mysql里面可以用between..and..或者 >、>=、<、<=来查询指定的时间范围数据,但是mongodb有自己的语法。mongodb里比较,用 "$gt" 、"$gte"、 "$lt"、 "$lte"(分别对应">"、 ">=" 、"<" 、"<="),组合起来可以进行范围的查找。比如查昨天的,就可以用:

db.CollectionAAA.find({ "CreateTime" : { "$gte" : ISODate("2017-04-20T00:00:00Z")
, "$lt" : ISODate("2017-04-21T00:00:00Z") } }).count()

注意,开始的时候日期使用 "2017-04-20" 和"2017-04-21",但是返回结果为空,应该日期字段需要指定格式吧,看了下存在库里的数据为ISODate类型,所以直接写成ISODate的方式,结果就正常了。

ps:

你好,我想请教一下,用户前端传递过来的值是例如 2018-10-27 12:12:12 那这样子的话,我后端需要怎么转成ISODate格式呢?因为ISODate 中间还有一个T 后面有一个Z 是不是我直接截取加上就可以呢?还是由什么更加好的方法呢?

直接这样就可以: 

"ArtShowtime":{ "$gte":ISODate("2019-11-04 00:00:00"), "$lt":ISODate("2019-11-11 00:00:00") }


————————————————
原文链接:https://blog.csdn.net/difffate/article/details/70312894

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值