首頁  >  文章  >  Java  >  Java操作mongoDB查詢的範例程式碼分享

Java操作mongoDB查詢的範例程式碼分享

黄舟
黄舟原創
2017-09-25 10:19:121704瀏覽

這篇文章主要介紹了java操作mongo查詢的實例詳解的相關資料,希望透過本文能幫助到大家,需要的朋友可以參考下

java操作mongo查詢的實例詳解

前言:

 MongoDB是一個基於分散式檔案儲存的資料庫。由C++語言編寫。旨在為WEB應用提供可擴展的高效能資料儲存解決方案。

     MongoDB是介於關聯式資料庫與非關聯式資料庫之間的產品,是非關聯式資料庫當中功能最豐富,最像關聯式資料庫的產品。他支援的資料結構非常鬆散,是類似json的bson格式,因此可以儲存比較複雜的資料類型。 Mongo最大的特點是他支援的查詢語言非常強大,其語法有點類似於物件導向的查詢語言,幾乎可以實現類似關係型資料庫單表查詢的絕大部分功能,而且還支援對資料建立索引。

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

     現在透過java中的一些程式碼展示透過java來操縱mongo 查詢。其中包含準確配對查詢,進階查詢,在兩個時間範圍內查詢,模糊查詢,分頁實作等查詢。

詳細見程式碼。


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()方法得到查询到的记录数 
 
    result3.skip(10).limit(20);//分页,skip():从第几条开始,limit():限制返回的条数 
 
  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结束**********===========*************"); 
} catch (Exception e) { 
  e.printStackTrace(); 
  System.out.println("---------测试3异常了----------"); 
}

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

以上是Java操作mongoDB查詢的範例程式碼分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn