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 語法,日期的加減也不是特別難想了吧?
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
- Mysql日期查詢listMySql
- 日期區間查詢
- ORACLE日期型別Oracle型別
- C++ 變數型別查詢C++變數型別
- ❖ MongoDB 高階查詢MongoDB
- mongodb慢查詢分析MongoDB
- Mongodb高階查詢MongoDB
- MongoDB查詢條件MongoDB
- MongoDB查詢總結MongoDB
- MongoDB查詢內嵌文件MongoDB
- MongoDB 常用查詢語法MongoDB
- MongoDB慢查詢與索引MongoDB索引
- Mongodb 關聯表查詢MongoDB
- Mysql 日期格式化 複雜日期區間查詢MySql
- MongoDB 如何支援類 SQL 查詢MongoDBSQL
- mongodb條件查詢不等於MongoDB
- MongoDB 操作文件 查詢文件MongoDB
- Oracle日期時間範圍查詢Oracle
- 媒體查詢中常用的媒體型別型別
- MongoDB更改欄位型別MongoDB型別
- JAVA - mongodb 聚合幾種查詢方式JavaMongoDB
- mongodb如何查詢最後幾項?MongoDB
- Spring Boot MongoDB 查詢操作 (BasicQuery ,BSON)Spring BootMongoDB
- Laravel使用MongoDB複雜的查詢LaravelMongoDB
- SQL Server 語句日期格式查詢方法SQLServer
- 從根上理解elasticsearch(lucene)查詢原理(2)-lucene常見查詢型別原理分析Elasticsearch型別
- EBS:訂單事務型別查詢之流程分配型別
- laravel 中 in 多列特殊查詢型別解決方案Laravel型別
- mysql 5.7 json 型別 json 陣列型別 普通字串型別 10w資料 查詢速度差異MySqlJSON型別陣列字串
- elasticsearch之日期型別有點怪Elasticsearch型別
- SpringBoot 框架MongoDB 簡單的查詢方式Spring Boot框架MongoDB
- MongoDB 怎麼計運算元查詢MongoDB
- MongoDB(12)- 查詢嵌入文件的陣列MongoDB陣列
- PostgreSQL 原始碼解讀(202)- 查詢#115(型別轉換)SQL原始碼型別
- MYSQL中怎麼查詢LONGBLOB型別資料的大小MySql型別
- mongodb索引--1億條記錄的查詢從55.7秒到毫秒級別MongoDB索引
- 在 with 查詢中只查詢個別欄位