欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

如何在mongoDB中利用java處理聚合函數(shù)

本篇文章給大家分享的是有關(guān)如何在MongoDB中利用java處理聚合函數(shù),小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。

成都創(chuàng)新互聯(lián)公司云計(jì)算的互聯(lián)網(wǎng)服務(wù)提供商,擁有超過(guò)13年的服務(wù)器租用、資陽(yáng)主機(jī)托管、云服務(wù)器、虛擬空間、網(wǎng)站系統(tǒng)開(kāi)發(fā)經(jīng)驗(yàn),已先后獲得國(guó)家工業(yè)和信息化部頒發(fā)的互聯(lián)網(wǎng)數(shù)據(jù)中心業(yè)務(wù)許可證。專業(yè)提供云主機(jī)、虛擬空間、國(guó)際域名空間、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。

需要對(duì)document中的一個(gè)tweet_list 集合中的一個(gè)屬性 timestamp_ms進(jìn)行排序。 組內(nèi)排序

使用聚合框架,通過(guò)match,unwind,sort等不同的組件創(chuàng)建一個(gè)管道。

類似MySQL中的多層嵌套子查詢。

mongoDB中js代碼

db.text.aggregate(
 // Initial document match (uses index, if a suitable one is available)
 [
 { $match: {
  _id : ObjectId("5ca95b4bfb60ec43b5dd0db5")
 }},

 // Expand the scores array into a stream of documents
 { $unwind: '$tweet_list' },
  
  { $match: {
   'tweet_list.timestamp_ms': '1451841845660'
  }},

 // Sort in descending order
 { $sort: {
  'tweet_list.timestamp_ms': 1
 }}
 ]
)

java實(shí)現(xiàn)此聚合函數(shù)

java中的Aggregation類,查詢條件的順序決定結(jié)果。

Aggregation agg = Aggregation.newAggregation(
  Aggregation.match(Criteria.where("_id").is(id)),
  Aggregation.unwind("tweet_list"),
  Aggregation.sort(Sort.Direction.ASC,"tweet_list.timestamp_ms"),
  Aggregation.project("tweet_list.timestamp_ms","tweet_list.text","tweet_list.created_at")

);
AggregationResults<JSONObject> results = mongoTemplate.aggregate(agg, "text", JSONObject.class);
//System.out.println("results"+results.getRawResults()); //獲取到的結(jié)果是document
//String res = results.getRawResults();
String json = com.mongodb.util.JSON.serialize(results.getRawResults());
System.out.println("JSON serialized Document: " + json);
JSONObject jso= JSON.parseObject(json);
JSONArray resultss=jso.getJSONArray("results");
System.out.println(resultss);

3.擴(kuò)展

管道pipeline

以下的管道操作符可以按照任意順序組合在一起使用。每個(gè)操作符都會(huì)接受一連串文檔,對(duì)這些文檔做了類型轉(zhuǎn)換后,將轉(zhuǎn)換后的文檔作為結(jié)果傳遞給下一個(gè)操作符。直到最后一個(gè)管道操作符,將結(jié)果返回給客戶端。

篩選match

盡可能將帥選放在管道的前部。兩個(gè)原因:

1.先過(guò)濾掉不需要的文檔,減少管道的工作量。

2.如果在project和group之前執(zhí)行match,查詢可以用索引。

3.不能在match中使用地理空間操作符

投射project

類似select操作??梢杂霉艿辣磉_(dá)式,數(shù)學(xué)表達(dá)式,日期表達(dá)式,字符表達(dá)式,邏輯表達(dá)式等。

分組group

跟mysql中的分組比較像

排序sort

1 升序 -1 降序

限制limit

限制結(jié)果條數(shù)

跳過(guò)skip

丟棄結(jié)果中的前n個(gè)文檔

拆分unwind

把數(shù)組中的每個(gè)值拆分為單獨(dú)的文檔,例如此問(wèn)題中需要對(duì)一個(gè)document中的tweetlist進(jìn)行排序,可以使用unwind把tweetlist中的不同map拆分成不同的文檔。

結(jié)果返回

文檔

如何在mongoDB中利用java處理聚合函數(shù)

MapReduce

如果聚合框架中查詢語(yǔ)言不能不表達(dá),需要用到MapReduce。

使用:把問(wèn)題拆分為多個(gè)小問(wèn)題,把各個(gè)小問(wèn)題發(fā)送到不同的機(jī)器上,每臺(tái)機(jī)器只負(fù)責(zé)完成一部分的工作,完成之后,再把零碎的解決方案合并。

步驟:

1.映射map:把操作映射到集合中每個(gè)文檔

2.洗牌shuffle:按照鍵值分組,并將產(chǎn)生的鍵值組成列表放到對(duì)應(yīng)的鍵中。

3.化簡(jiǎn)reduce:把列表中的值化簡(jiǎn)成一個(gè)單值,值被返回,繼續(xù)shuffle,然后最終每個(gè)鍵的列表只有一個(gè)值,即最終結(jié)果,

以上就是如何在mongoDB中利用java處理聚合函數(shù),小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

當(dāng)前題目:如何在mongoDB中利用java處理聚合函數(shù)
地址分享:http://aaarwkj.com/article2/iggsoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站營(yíng)銷、商城網(wǎng)站、外貿(mào)建站、定制開(kāi)發(fā)、App設(shè)計(jì)

廣告

聲明:本網(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í)需注明來(lái)源: 創(chuàng)新互聯(lián)

微信小程序開(kāi)發(fā)
校园春色亚洲欧美日韩| 亚洲女同在线免费观看| 欧美一区二区三区四区久久 | 欧美成人黄片免费播放| 免费高清视频一区二区在线观看 | 久久re这里只有精品6| 日韩精品人成在线播放| 亚洲一区二区三区熟女av| 天天操夜夜操白天操晚上操| 欧美一区二区三区精美| 国产精品久久久久久爽| 色琪琪原网另类欧美日韩| 人妻中文字幕精品系列| 午夜在线观看欧美福利| 一区二区三区国产不卡| 加勒比中文字幕日本道| 精品久久av一区二区三区| 免费午夜福利一区二区| 中文字幕人妻秘书社长| 欧美日韩亚洲精品久久| 偷怕自拍在线免费观看| 欧美日韩午夜福利视频| av中文在线免费观看 | 亚洲天堂国产中文在线| 国产美女作爱视频网站| 2021亚洲精品午夜精品国产| 密桃精品一区二区三区在线观看| 日本一道本不卡一区二区| 国产精品国产三级国产av丨| 太爽了少妇高潮在线看片| 日本在线最新视频一区二区三区| 91成人国产综合久久精品| 麻豆午夜视频免费在线观看| 少妇按摩高潮呻吟av| 亚洲精品一区二区三区网站| 国内激情自拍偷拍视频| 国产男女猛烈无遮挡网站| 日本美女午夜福利视频| 成年女人大片免费观看版| 我想看日韩一级黄色片| 欧美日本一区二区四区|