共計(jì) 2131 個(gè)字符,預(yù)計(jì)需要花費(fèi) 6 分鐘才能閱讀完成。
自動(dòng)寫代碼機(jī)器人,免費(fèi)開通
丸趣 TV 小編給大家分享一下 java 操作 mongoDB 查詢的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
java 操作 mongo 查詢的實(shí)例詳解
前言:
MongoDB 是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫。由 C ++ 語言編寫。旨在為 WEB 應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。
MongoDB 是一個(gè)介于關(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 格式,因此可以存儲(chǔ)比較復(fù)雜的數(shù)據(jù)類型。Mongo 最大的特點(diǎn)是他支持的查詢語言非常強(qiáng)大,其語法有點(diǎn)類似于面向?qū)ο蟮牟樵冋Z言,幾乎可以實(shí)現(xiàn)類似關(guān)系數(shù)據(jù)庫單表查詢的絕大部分功能,而且還支持對(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)查詢,模糊查詢,分頁實(shí)現(xiàn)等查詢。
詳細(xì)見代碼。
try {
System.out.println( =========******** 測試 3 開始 **********===========*************
// 先獲取 mongo 庫的集合 DBCollection 對(duì)象
DBCollection data = (DBCollection) mongoClientService.getColectionByName( mongo 庫集合名稱
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));// 查詢 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 這四個(gè)類,僅供參考。
以上是“java 操作 mongoDB 查詢的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道!
向 AI 問一下細(xì)節(jié)