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

MongoDB操作之日期轉(zhuǎn)換方式(string、ISODate、時(shí)間戳)

 更新時(shí)間:2023年07月01日 10:20:15   作者:少年阿峣_從零單排  
這篇文章主要介紹了MongoDB操作之日期轉(zhuǎn)換方式(string、ISODate、時(shí)間戳),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

MongoDB日期轉(zhuǎn)換(string、ISODate、時(shí)間戳)

String字符串轉(zhuǎn)ISODate

db.aj_hy_copy.find().forEach(function(doc) {
doc.許可證有效期起始日期=new Date(doc.許可證有效期起始日期);
db.aj_hy_copy.save(doc);
})

ISODate轉(zhuǎn)時(shí)間戳

db.aj_hy.find().forEach(function(doc) {
doc.許可證有效期截止日期=doc.許可證有效期截止日期.valueOf();
db.aj_hy.save(doc);
})

MongoDB中的日期查詢的坑

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

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é)束");
	}
}

上面的代碼中查詢時(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中你寫(xiě)2018-03-29 08:30:36這個(gè)時(shí)間肯定查不到數(shù)據(jù)

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

記錄一下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  =

總結(jié)

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

相關(guān)文章

  • MongoDB通過(guò)查詢與游標(biāo)徹底玩轉(zhuǎn)分布式文件存儲(chǔ)

    MongoDB通過(guò)查詢與游標(biāo)徹底玩轉(zhuǎn)分布式文件存儲(chǔ)

    MongoDB最大的特點(diǎn)是它支持的查詢語(yǔ)言非常強(qiáng)大,其語(yǔ)法有點(diǎn)類似于面向?qū)ο蟮牟樵冋Z(yǔ)言,幾乎可以實(shí)現(xiàn)類似關(guān)系數(shù)據(jù)庫(kù)單表查詢的絕大部分功能,而且還支持對(duì)數(shù)據(jù)建立索引,這篇文章主要介紹了MongoDB查詢與游標(biāo),徹底玩轉(zhuǎn)分布式文件存儲(chǔ),需要的朋友可以參考下
    2023-01-01
  • mongodb與mysql命令詳細(xì)對(duì)比

    mongodb與mysql命令詳細(xì)對(duì)比

    MongoDB的好處挺多的,比如多列索引,查詢時(shí)可以用一些統(tǒng)計(jì)函數(shù),支持多條件查詢,但是目前多表查詢是不支持的,可以想辦法通過(guò)數(shù)據(jù)冗余來(lái)解決多表查詢的問(wèn)題
    2013-08-08
  • MongoDB中MapReduce編程模型使用實(shí)例

    MongoDB中MapReduce編程模型使用實(shí)例

    作為一個(gè)優(yōu)秀的編程模型,MapReduce在大數(shù)據(jù)處理中有很大的優(yōu)勢(shì),而mongodb也支持這一編程模型,本文通過(guò)簡(jiǎn)單的單詞計(jì)數(shù)示例論述在mongodb中如何使用MapReduce
    2014-04-04
  • MongoDB 語(yǔ)法使用小結(jié)

    MongoDB 語(yǔ)法使用小結(jié)

    MongoDB是一個(gè)介于關(guān)系數(shù)據(jù)庫(kù)和非關(guān)系數(shù)據(jù)庫(kù)之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫(kù)當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫(kù)的
    2011-10-10
  • MongoDB數(shù)據(jù)庫(kù)中索引和explain的使用教程

    MongoDB數(shù)據(jù)庫(kù)中索引和explain的使用教程

    這篇文章主要給大家介紹了關(guān)于MongoDB數(shù)據(jù)庫(kù)中索引和explain使用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Mongodb具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-08-08
  • MongoDB視圖的修改與刪除的實(shí)現(xiàn)

    MongoDB視圖的修改與刪除的實(shí)現(xiàn)

    視圖為mongodb的操作和數(shù)據(jù)安全上提供了便利,本文主要介紹了MongoDB視圖的修改與刪除的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-12-12
  • mongoDB中CRUD的深入講解

    mongoDB中CRUD的深入講解

    這篇文章主要給大家介紹了關(guān)于mongoDB中CRUD的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用mongoDB具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • 基于Mongodb分布式鎖解決定時(shí)任務(wù)并發(fā)執(zhí)行問(wèn)題

    基于Mongodb分布式鎖解決定時(shí)任務(wù)并發(fā)執(zhí)行問(wèn)題

    這篇文章主要介紹了基于Mongodb分布式鎖解決定時(shí)任務(wù)并發(fā)執(zhí)行問(wèn)題,網(wǎng)上有很多分布式鎖的實(shí)現(xiàn)方案,基于redis、zk、等有很多,但是我的就是一個(gè)用了mysql和mongo的小應(yīng)用,本文給大家詳細(xì)講解,需要的朋友可以參考下
    2023-04-04
  • Laravel?框架中使用?MongoDB?數(shù)據(jù)庫(kù)的操作

    Laravel?框架中使用?MongoDB?數(shù)據(jù)庫(kù)的操作

    這篇文章主要介紹了Laravel?框架中使用?MongoDB?數(shù)據(jù)庫(kù)的問(wèn)題及操作方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • mongodb監(jiān)控工具mongostat的使用及命令詳解

    mongodb監(jiān)控工具mongostat的使用及命令詳解

    mongostat是mongodb自帶的狀態(tài)檢測(cè)工具,在命令行下使用,會(huì)間隔固定時(shí)間獲取mongodb的當(dāng)前運(yùn)行狀態(tài),并輸出,本文講述了mongodb監(jiān)控工具mongostat的使用及命令詳解
    2018-03-03

最新評(píng)論

阿拉善盟| 石台县| 高雄县| 石屏县| 宁陵县| 寿光市| 涟源市| 忻州市| 白玉县| 从化市| 中山市| 天等县| 绥德县| 泰州市| 巨野县| 玛多县| 乐亭县| 桐城市| 开鲁县| 常熟市| 抚顺市| 丽水市| 孝昌县| 宜宾市| 依安县| 东辽县| 襄垣县| 长泰县| 建瓯市| 闵行区| 承德市| 奉节县| 镇康县| 丰镇市| 改则县| 阿城市| 廊坊市| 绵竹市| 广东省| 苍山县| 扎赉特旗|