您现在的位置是:首页 > 文章详情

MongoDB日期类型查询

日期:2018-04-02点击:349

 

一、前言

MongoDB 里面的日期类型是没有时区概念的,默认存储的是 ISODate("2018-04-02T13:19:16.418Z") 这种格式的零时区时间,比北京时间晚了八个小时。

工作中遇到了一个问题,怎么查询比当前时间小30秒之内的文档记录呢?

时区问题有关系吗?日期类型要怎么比较?怎么表示当前时间呢?日期要怎么实现加减呢?

二、方案

1、时区问题

其实时区问题并不是一个太需要关注的问题,因为MongoDB 提供了一个Javascript shell 窗口,支持 js 的语法。进行日期类型比较的时候,MongoDB 会自动处理 js 日期类型 和 MongoDB 日期类型间的时区问题。

2、怎么表示当前时间

既然我们已经有了 Javascript shell 窗口,那么表示当前时间不是一件轻而易举的事情了吗?直接一个 new Date() 就搞定了!

3、实现日期加减

有了 js 语法,日期的加减也不是特别难想了吧?

1 var now = new Date(); 2 now.setSeconds(now.getSeconds() - 30);

4、实现查询

万事俱备,只欠东风。让我们来看看,最后的MongoDB查询是怎么样的吧?

1 var now = new Date(); 2 now.setSeconds(now.getSeconds() - 30); 3 db.driverLocation.find({"uploadTime":{"$gte":now}}).sort({"uploadTime":-1});
原文链接:https://yq.aliyun.com/articles/616434
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章