欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java操作mongoDB查詢的實例詳解

 更新時間:2017年09月23日 13:24:00   投稿:lqh  
這篇文章主要介紹了java操作mongo查詢的實例詳解的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下

java操作mongo查詢的實例詳解

前言:

 MongoDB是一個基于分布式文件存儲的數(shù)據(jù)庫。由C++語言編寫。旨在為WEB應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲解決方案。

     MongoDB是一個介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫的。他支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類似json的bson格式,因此可以存儲比較復(fù)雜的數(shù)據(jù)類型。Mongo最大的特點是他支持的查詢語言非常強(qiáng)大,其語法有點類似于面向?qū)ο蟮牟樵冋Z言,幾乎可以實現(xiàn)類似關(guān)系數(shù)據(jù)庫單表查詢的絕大部分功能,而且還支持對數(shù)據(jù)建立索引。

    在可視化工具中查詢非常方便,類似于 {' key' : ' value' },這種查詢,高級查詢也類似,比如查詢某個字段的值大于5,我們就可以查 {' key' : { $gt : 5} }, 這要歸功于monggo 面向集合存儲,存儲對象類型的數(shù)據(jù)(JSON的二進(jìn)制數(shù)據(jù)BSON),這要以來,查詢很方便,其它的高級查詢,比如小于$lt,大于等于$gte,小于等于$lte, 在某個范圍$in, 不在某個范圍$nin,等等,都可以通過上面的方式查詢出來。

     現(xiàn)在通過java中的一些代碼展示通過java來操縱mongo 查詢。其中包含準(zhǔn)確匹配查詢,高級查詢,在兩個時間范圍內(nèi)查詢,模糊查詢,分頁實現(xiàn)等查詢。

詳細(xì)見代碼。

try { 
  System.out.println("=========********測試3開始**********===========*************"); 
  //先獲取mongo庫的集合DBCollection對象 
  DBCollection data = (DBCollection) mongoClientService.getColectionByName("mongo庫集合名稱"); 
   
  BasicDBObject query3 = new BasicDBObject(); 
  query3.put("name","Tom");//查找姓名為Tom 
 
  //查詢兩個時間范圍的,用map包裝一下 
  Map<String, Object> queryMap = new HashMap<>(); 
  queryMap.put("$gt", "1496911821071"); 
  queryMap.put("$lt", "1496915447871"); 
    query3.put("timeStamp", new BasicDBObject(queryMap)); 
    //模糊匹配rule查詢 
    query3.put("businessRuleName", new BasicDBObject("$regex","rule")); 
    DBCursor result3 = data.find(query3); 
   
  String resultCode = "4"; 
  if ("4".equals(resultCode)) { 
    BasicDBList cond = new BasicDBList(); 
    cond.add("0"); 
    cond.add("1"); 
    cond.add("2"); 
    cond.add("3"); 
    query3.put("resultCode", new BasicDBObject("$nin", cond));//查詢resultCode不是0,1,2,3的 
  } 
    System.out.println(result3.count());//count()方法得到查詢到的記錄數(shù) 
 
    result3.skip(10).limit(20);//分頁,skip():從第幾條開始,limit():限制返回的條數(shù) 
 
  while (result3.hasNext()) { 
    DBObject dbObject = (DBObject) result3.next(); 
    System.out.println(JSON.serialize(dbObject)); 
    System.out.println("------------"); 
  } 
  System.out.println(result3.count());// 
  System.out.println("=========********測試3結(jié)束**********===========*************"); 
} catch (Exception e) { 
  e.printStackTrace(); 
  System.out.println("---------測試3異常了----------"); 
}

     上面包含了很多方式的查詢的例子,主要操縱的是 DBCollection, BasicDBObject, DBCursor , BasicDBList 這四個類,僅供參考。

如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • Linux安裝MongoDB?4.0.3詳細(xì)步驟

    Linux安裝MongoDB?4.0.3詳細(xì)步驟

    這篇文章主要介紹了Linux安裝MongoDB?4.0.3詳細(xì)步驟的相關(guān)資料,需要的朋友可以參考下
    2023-06-06
  • MongoDB 導(dǎo)出導(dǎo)入備份恢復(fù)數(shù)據(jù)詳解及實例

    MongoDB 導(dǎo)出導(dǎo)入備份恢復(fù)數(shù)據(jù)詳解及實例

    這篇文章主要介紹了MongoDB 導(dǎo)出導(dǎo)入備份恢復(fù)數(shù)據(jù)詳解及實例的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • 解決MongoDB占用內(nèi)存過大頻繁死機(jī)的方法詳解

    解決MongoDB占用內(nèi)存過大頻繁死機(jī)的方法詳解

    這篇文章主要介紹了解決MongoDB占用內(nèi)存過大頻繁死機(jī)的方法詳解,需要的朋友可以參考下
    2020-02-02
  • MongoDB中哪幾種情況下的索引選擇策略

    MongoDB中哪幾種情況下的索引選擇策略

    這篇文章主要給大家介紹了關(guān)于MongoDB中哪幾種情況下的索引選擇策略的相關(guān)資料,文中通過圖文以及實例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2022-01-01
  • MongoDB數(shù)據(jù)庫安裝配置、基本操作實例詳解

    MongoDB數(shù)據(jù)庫安裝配置、基本操作實例詳解

    這篇文章主要介紹了MongoDB數(shù)據(jù)庫安裝配置、基本操作,結(jié)合實例形式詳細(xì)分析了MongoDB數(shù)據(jù)庫安裝配置具體步驟、相關(guān)命令與基本操作實現(xiàn)技巧,需要的朋友可以參考下
    2020-01-01
  • 關(guān)于單臺MongoDB實例開啟Oplog的過程詳解

    關(guān)于單臺MongoDB實例開啟Oplog的過程詳解

    這篇文章主要給大家介紹了關(guān)于單臺MongoDB實例開啟Oplog的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09
  • MongoDB中的參數(shù)限制與閥值詳析

    MongoDB中的參數(shù)限制與閥值詳析

    這篇文章主要給大家介紹了關(guān)于MongoDB中參數(shù)限制與閥值的相關(guān)資料,文中通過示例代碼以及圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Mongodb數(shù)據(jù)庫兩種啟動方法小結(jié)

    Mongodb數(shù)據(jù)庫兩種啟動方法小結(jié)

    MongoDB是一種開源的服務(wù)器端NoSQL數(shù)據(jù)庫管理系統(tǒng),它提供了一種靈活的框架,可以快速地存儲、處理和管理大量的數(shù)據(jù),這篇文章主要給大家介紹了關(guān)于Mongodb數(shù)據(jù)庫兩種啟動方法的相關(guān)資料,需要的朋友可以參考下
    2023-12-12
  • MongoDB特定類型的查詢語句實例

    MongoDB特定類型的查詢語句實例

    在關(guān)系型數(shù)據(jù)庫中,可以實現(xiàn)基于表的各種各樣的查詢,下面這篇文章主要給大家介紹了關(guān)于MongoDB特定類型查詢的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • 淺析Mongodb性能優(yōu)化的相關(guān)問題

    淺析Mongodb性能優(yōu)化的相關(guān)問題

    數(shù)據(jù)庫性能對軟件整體性能的影響是不言而喻的,那么,當(dāng)我們使用MongoDB時改如何提高數(shù)據(jù)庫性能呢?這篇文章通過范式化與反范式化、填充因子的使用和索引的使用三個方面來談了談Mongodb性能優(yōu)化的相關(guān)問題,有需要的朋友們下面來一起看看吧。
    2016-10-10

最新評論