java操作mongoDB查詢的示例分析

小編給大家分享一下java操作MongoDB查詢的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比長(zhǎng)寧網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式長(zhǎng)寧網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋長(zhǎng)寧地區(qū)。費(fèi)用合理售后完善,十載實(shí)體公司更值得信賴。

java操作mongo查詢的實(shí)例詳解

前言:

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

     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ù)的。他支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類似json的bson格式,因此可以存儲(chǔ)比較復(fù)雜的數(shù)據(jù)類型。Mongo最大的特點(diǎn)是他支持的查詢語(yǔ)言非常強(qiáng)大,其語(yǔ)法有點(diǎn)類似于面向?qū)ο蟮牟樵冋Z(yǔ)言,幾乎可以實(shí)現(xiàn)類似關(guān)系數(shù)據(jù)庫(kù)單表查詢的絕大部分功能,而且還支持對(duì)數(shù)據(jù)建立索引。

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

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

詳細(xì)見代碼。

try { 
  System.out.println("=========********測(cè)試3開始**********===========*************"); 
  //先獲取mongo庫(kù)的集合DBCollection對(duì)象 
  DBCollection data = (DBCollection) mongoClientService.getColectionByName("mongo庫(kù)集合名稱"); 
   
  BasicDBObject query3 = new BasicDBObject(); 
  query3.put("name","Tom");//查找姓名為Tom 
 
  //查詢兩個(gè)時(shí)間范圍的,用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));//查詢r(jià)esultCode不是0,1,2,3的 
  } 
    System.out.println(result3.count());//count()方法得到查詢到的記錄數(shù) 
 
    result3.skip(10).limit(20);//分頁(yè),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("=========********測(cè)試3結(jié)束**********===========*************"); 
} catch (Exception e) { 
  e.printStackTrace(); 
  System.out.println("---------測(cè)試3異常了----------"); 
}

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

以上是“java操作mongoDB查詢的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

文章題目:java操作mongoDB查詢的示例分析
網(wǎng)頁(yè)URL:http://muchs.cn/article16/pdjogg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)外貿(mào)建站、動(dòng)態(tài)網(wǎng)站、靜態(tài)網(wǎng)站、微信公眾號(hào)、網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化