最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mongodb 如何將時(shí)間戳轉(zhuǎn)換為年月日日期

 更新時(shí)間:2022年10月17日 14:35:51   作者:lMasterSparkl  
這篇文章主要介紹了Mongodb 如何將時(shí)間戳轉(zhuǎn)換為年月日日期,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Mongodb將時(shí)間戳轉(zhuǎn)換為年月日日期

使用dateToString 方法進(jìn)行轉(zhuǎn)換 并且通過format指定轉(zhuǎn)換日期格式

? ? ? ? Integer userId=aaa;
? ? ? ? GroupOperation groupOperation = Aggregation.group("day").sum("money").as("todayIncome").count().as("todayPayCount");
? ? ? ? Aggregation aggregation = Aggregation.newAggregation(
? ? ? ? ? ? ? ? Aggregation.match(Criteria.where("userId").is(userId)),
? ? ? ? ? ? ? ? project("userId","money").andExpression("{$dateToString: {date: { $add: {'$createTime', [0]} }, format: '%Y%m%d'}}", new Date(28800000)).as("day"),
? ? ? ? ? ? ? ? groupOperation,
? ? ? ? ? ? ? ? sort(Sort.Direction.ASC, "_id")
? ? ? ? );

注意:

1.必須使用 $dateToString: {date: { $add: 通過求和進(jìn)行date數(shù)據(jù)轉(zhuǎn)換 如果去掉后面的會(huì)報(bào)解析錯(cuò)誤

org.springframework.data.mongodb.UncategorizedMongoDbException: Command failed with error 16006 (Location16006): 'can't convert from BSON type long to Date' on server localhost:50000. The full response is {"ok": 0.0, "errmsg": "can't convert from BSON type long to Date", "code": 16006, "codeName": "Location16006"}; nested exception is com.mongodb.MongoCommandException: Command failed with error 16006 (Location16006): 'can't convert from BSON type long to Date' on server localhost:50000. The full response is {"ok": 0.0, "errmsg": "can't convert from BSON type long to Date", "code": 16006, "codeName": "Location16006"}

2.必須增加 new Date(28800000) 的時(shí)間 原因是增加了8個(gè)時(shí)區(qū)的偏移量

MongoDB中的日期查詢的坑

在熟悉monggoDB的時(shí)候遇到了時(shí)間查詢的問題代碼如下:

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
 
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.MongoClient;
import com.mongodb.ServerAddress;
 
/**
 * mongo 數(shù)據(jù)庫(kù)直連測(cè)試
 * @author fuhao
 *
 */
public class MongDBTest {
	public static void main(String[] args) throws Exception {
		List<ServerAddress> list = new ArrayList<ServerAddress>();
//		連接數(shù)據(jù)庫(kù)   ip 端口
		list.add(new ServerAddress("10.39.XXX.XXX", 27010));
		MongoClient mongoClient = new MongoClient(list);
		//數(shù)據(jù)庫(kù)名稱
	    DB psdoc = mongoClient.getDB("qa_db_center");
	    //表明
	    DBCollection collection=psdoc.getCollection("base_user_info");
	    
	    BasicDBObject queryObject = null; 
	    
	    // 時(shí)間查詢    數(shù)據(jù)庫(kù)看到的時(shí)間不是真實(shí)時(shí)間  加8小時(shí)后才是正確的時(shí)間
	    DBObject dbObject = new BasicDBObject();
	    String startDate = "2018-03-29 15:59:06";
	    String endDate = "2018-03-29 16:30:46";
	    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	    dbObject.put("$gte", sdf.parse(startDate));
	    dbObject.put("$lte",  sdf.parse(endDate));
	    queryObject = new BasicDBObject();
	    queryObject.put("create_time",dbObject);
	    DBCursor find = collection.find(queryObject);
	     
	    while (find.hasNext()) {
	    	 DBObject next = find.next();
	    	 Object real_name = next.get("real_name");
	    	 Object mobile = next.get("mobile");
	    	 Object create_time = next.get("create_time"); 
	    	 String str = sdf.format(create_time);
	    	 System.out.println(real_name +"====="+mobile +"====="+str);
		}
	     System.out.println("結(jié)束");
	    
	}
}

請(qǐng)求頁(yè)面 默認(rèn)頁(yè) https://blog.csdn.net/qq_27292113/article/details/91876121 【標(biāo)題】:MongoDB中的日期查詢的坑_天馬行空-的博客-CSDN博客_mongodb query 日期 【內(nèi)容】:

在熟悉monggoDB的時(shí)候遇到了時(shí)間查詢的問題代碼如下:

上面的代碼中查詢時(shí)間 按mysql 的流程應(yīng)該查詢到 2018-03-29 15:59:06 到2018-03-29 16:30:46 這個(gè)區(qū)間的數(shù)據(jù),但是mongoDB不同,因?yàn)閙ongo中的date類型以UTC(Coordinated Universal Time)存儲(chǔ),就等于GMT(格林尼治標(biāo)準(zhǔn)時(shí))時(shí)間。而系統(tǒng)時(shí)間使用的是GMT+0800時(shí)間,兩者正好相差8個(gè)小時(shí)。也就是用java 代碼插入的時(shí)間類型的值都會(huì)被減8小時(shí)。這個(gè)坑挺大的不注意很容易出事。

展示一下對(duì)比數(shù)據(jù)便于理解:

上面的圈是查詢的條件對(duì)應(yīng)數(shù)據(jù)庫(kù)中的數(shù)據(jù)是2018-03-29T08:30:36.310Z 如下圖,但是在java中你寫2018-03-29 08:30:36這個(gè)時(shí)間肯定查不到數(shù)據(jù)

對(duì)比得出數(shù)據(jù)庫(kù)中看到的時(shí)間和實(shí)際時(shí)間差8小時(shí),但是查詢出來的結(jié)果時(shí)間還是會(huì)被轉(zhuǎn)換回來(不以時(shí)間為條件查詢的話基本沒什么問題)。

記錄一下mongoDB中查詢區(qū)間時(shí)間的執(zhí)行語(yǔ)句:

db.getCollection('base_user_info').find({"create_time":{"$gte":ISODate("2018-03-29 07:59:06"),"$lte":ISODate("2018-03-29 08:30:46")}});

base_user_info :表名  create_time:字段名

比較符號(hào)對(duì)應(yīng)列表

  • $gt -------- greater than  >
  • $gte --------- gt equal  >=
  • $lt -------- less than  <
  • $lte --------- lt equal  <=
  • $ne ----------- not equal  !=
  • $eq  --------  equal  =

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • MongoDB的基本特性與內(nèi)部構(gòu)造的講解

    MongoDB的基本特性與內(nèi)部構(gòu)造的講解

    今天小編就為大家分享一篇關(guān)于MongoDB的基本特性與內(nèi)部構(gòu)造的講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • 在Linux ubuntu下安裝mongodb的方法

    在Linux ubuntu下安裝mongodb的方法

    這篇文章主要給大家介紹了在Linux ubuntu系統(tǒng)上如何安裝mongodb的方法,大家都知道MongoDB是多平臺(tái)的文檔存儲(chǔ)數(shù)據(jù)庫(kù);所以本文在ubuntu系統(tǒng)中安裝MongoDB。文中給出了詳細(xì)的步驟,相信對(duì)大家的理解和學(xué)習(xí)很有幫助,有需要的朋友們下面來一起看看吧。
    2016-11-11
  • MongoDB插入、更新、刪除文檔實(shí)現(xiàn)代碼

    MongoDB插入、更新、刪除文檔實(shí)現(xiàn)代碼

    本文通過實(shí)例代碼給大家簡(jiǎn)單介紹了mongodb插入、更新、刪除文檔的方法,需要的的朋友參考下吧
    2017-04-04
  • mongoDB 4.0事務(wù)回滾的辛酸歷程探究

    mongoDB 4.0事務(wù)回滾的辛酸歷程探究

    這篇文章主要給大家介紹了關(guān)于mongoDB 4.0事務(wù)回滾的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用MongoDB具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • Mongodb安裝與配置筆記

    Mongodb安裝與配置筆記

    這篇文章主要介紹了Mongodb安裝與配置筆記,本文環(huán)境為L(zhǎng)inux,講解了Mongodb安裝步驟、配置方法、服務(wù)啟動(dòng)、后臺(tái)運(yùn)行等內(nèi)容,需要的朋友可以參考下
    2014-09-09
  • MongoDB中連接池、索引、事務(wù)

    MongoDB中連接池、索引、事務(wù)

    這篇文章主要介紹了MongoDB中連接池、索引、事務(wù)的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • MongoDB基礎(chǔ)命令以及操作示例詳解

    MongoDB基礎(chǔ)命令以及操作示例詳解

    Mongodb:是一種NoSQL數(shù)據(jù)庫(kù),下面這篇文章主要給大家介紹了關(guān)于MongoDB基礎(chǔ)命令以及操作的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-08-08
  • MongoDB數(shù)據(jù)庫(kù)基礎(chǔ)操作總結(jié)

    MongoDB數(shù)據(jù)庫(kù)基礎(chǔ)操作總結(jié)

    這篇文章主要介紹了MongoDB數(shù)據(jù)庫(kù)基礎(chǔ)操作,結(jié)合實(shí)例形式總結(jié)分析了MongoDB數(shù)據(jù)庫(kù)創(chuàng)建、刪除、集合、文檔等基本操作技巧,需要的朋友可以參考下
    2020-06-06
  • centos7安裝mongo數(shù)據(jù)庫(kù)的方法(mongo4.2.8)

    centos7安裝mongo數(shù)據(jù)庫(kù)的方法(mongo4.2.8)

    這篇文章給大家介紹了centos7安裝mongo4.2.8數(shù)據(jù)庫(kù)的詳細(xì)過程,包括mongo數(shù)據(jù)庫(kù)安裝和啟動(dòng)方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2022-01-01
  • MongoDB的復(fù)合通配符索引及應(yīng)用場(chǎng)景

    MongoDB的復(fù)合通配符索引及應(yīng)用場(chǎng)景

    MongoDB的復(fù)合通配符索引為處理復(fù)雜和多變的數(shù)據(jù)結(jié)構(gòu)提供了靈活的索引解決方案,通過合理使用復(fù)合通配符索引,可以顯著提高查詢效率并減少索引維護(hù)成本,本文給大家介紹MongoDB的復(fù)合通配符索引,感興趣的朋友跟隨小編一起看看吧
    2024-08-08

最新評(píng)論

略阳县| 平果县| 嘉义县| 宜宾县| 湾仔区| 铜陵市| 扶绥县| 清新县| 儋州市| 巩义市| 明光市| 繁昌县| 龙江县| 探索| 乌兰县| 宕昌县| 乌鲁木齐县| 连南| 伊通| 南充市| 长乐市| 阜阳市| 定州市| 宁陕县| 开平市| 霍林郭勒市| 海兴县| 新兴县| 洪泽县| 秦安县| 广汉市| 秦皇岛市| 尖扎县| 桂阳县| 英吉沙县| 芦山县| 汉沽区| 金溪县| 台东市| 祁阳县| 合江县|