zoukankan      html  css  js  c++  java
  • MongoDB日期类型查询

    一、前言

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

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

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

    二、方案

    1、时区问题

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

    2、怎么表示当前时间

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

    3、实现日期加减

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

    var now = new Date();
    now.setTime(now.setSeconds(now.getMinutes() - 30));

    4、实现查询

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

    var now = new Date();
    now.setTime(now.setSeconds(now.getMinutes() - 30));
    db.driverLocation.find({"uploadTime":{"$gte":now}}).sort({"uploadTime":-1});
  • 相关阅读:
    基于 html5的 jquery 轮播插件 flickerplate
    grafana配置
    grafana-zabbix部署和使用
    nxlog windows安装部署
    InfluxDB、grafana、collect部署监控(centos6.8)
    InfluxDB基本概念和操作
    InfluxDB1.2.4部署(centos6.8)
    grafana worldPing插件
    prometheus + grafana部署RabbitMQ监控
    prometheus + grafana安装部署(centos6.8)
  • 原文地址:https://www.cnblogs.com/jmcui/p/8706411.html
Copyright © 2011-2022 走看看