MongoDB日期类型查询

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: 一、前言 MongoDB 里面的日期类型是没有时区概念的,默认存储的是 ISODate("2018-04-02T13:19:16.418Z") 这种格式的零时区时间,比北京时间晚了八个小时。 工作中遇到了一个问题,怎么查询比当前时间小30秒之内的文档记录呢? 时区问题有关系吗?日期类型要怎么比较?怎么表示当前时间呢?日期要怎么实现加减呢? 二、方案 1、时区问题 其实时区问题并不是一个太需要关注的问题,因为MongoDB 提供了一个Javascript shell 窗口,支持 js 的语法。

 

一、前言

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});
相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
4月前
|
NoSQL Linux atlas
|
3月前
|
存储 监控 NoSQL
MongoDB索引解析:工作原理、类型选择及优化策略
MongoDB索引解析:工作原理、类型选择及优化策略
|
3月前
|
NoSQL 定位技术 MongoDB
解锁MongoDB索引的秘密:优化查询效率与应对限制的策略
解锁MongoDB索引的秘密:优化查询效率与应对限制的策略
|
7天前
|
JSON NoSQL MongoDB
MongoDB Schema设计实战指南:优化数据结构,提升查询性能与数据一致性
【8月更文挑战第24天】MongoDB是一款领先的NoSQL数据库,其灵活的文档模型突破了传统关系型数据库的限制。它允许自定义数据结构,适应多样化的数据需求。设计MongoDB的Schema时需考虑数据访问模式、一致性需求及性能因素。设计原则强调简洁性、查询优化与合理使用索引。例如,在构建博客系统时,可以通过精心设计文章和用户的集合结构来提高查询效率并确保数据一致性。正确设计能够充分发挥MongoDB的优势,实现高效的数据管理。
22 3
|
7天前
|
存储 NoSQL MongoDB
【掌握MongoDB】轻松精通MongoDB查询,从基础到高级一网打尽!
【8月更文挑战第24天】在数据驱动的时代,数据库的性能与灵活性对企业至关重要。MongoDB作为一种高性能、无模式的文档数据库,为开发者提供了灵活的数据存储方案。尤其在处理半结构化或多变数据时展现出强大优势。本文重点介绍MongoDB中的查询操作,包括基本查询、条件查询、复杂查询以及字段选择、排序和限制等功能。通过掌握这些基本查询技巧,开发者能够有效从MongoDB中检索数据,支持复杂的业务逻辑。
17 1
|
17天前
|
人工智能 JSON NoSQL
Go MongoDB Driver 中的 A D M E 类型是什么
Go MongoDB Driver 中的 A D M E 类型是什么
24 1
|
19天前
|
监控 NoSQL MongoDB
mongodb查询100万数据如何查询快速
综上,提高MongoDB百万级数据的查询性能需要综合多项技术,并在实际应用中不断调优和实践。理解数据的特征,合理设计索引,优化查询语句,在数据访问、管理上遵循最佳的实践,这样才能有效地管理和查询大规模的数据集合。
71 1
|
2月前
|
SQL NoSQL MongoDB
MongoDB 索引类型介绍
MongoDB 索引类型介绍
29 3
|
2月前
|
NoSQL 关系型数据库 MySQL
优化MongoDB查询
【7月更文挑战第4天】
33 0
|
2月前
|
NoSQL 中间件 MongoDB
MongoDB查询过程
【7月更文挑战第3天】
30 0
下一篇
云函数