首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >MongoDB 日期类型查询

MongoDB 日期类型查询

作者头像
JMCui
发布2018-04-17 15:04:40
发布2018-04-17 15:04:40
3.6K00
代码可运行
举报
文章被收录于专栏:JMCuiJMCui
运行总次数:0
代码可运行

一、前言

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

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

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

二、方案

1、时区问题

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

2、怎么表示当前时间

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

3、实现日期加减

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

代码语言:javascript
代码运行次数:0
运行
复制
1     var now = new Date();
2     now.setSeconds(now.getSeconds() - 30);
4、实现查询

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

代码语言:javascript
代码运行次数:0
运行
复制
1      var now = new Date();
2      now.setSeconds(now.getSeconds() - 30);
3      db.driverLocation.find({"uploadTime":{"$gte":now}}).sort({"uploadTime":-1});
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-04-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、前言
  • 二、方案
    • 1、时区问题
    • 2、怎么表示当前时间
    • 3、实现日期加减
    • 4、实现查询
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档