摘要:聚合管道介紹的聚合管道將文檔在一個管道處理完畢后將結果傳遞給下一個管道處理。它是數據聚合的一個新框架,其概念類似于數據處理的管道。
聚合管道aggregate
aggregate介紹
MongoDB的聚合管道將MongoDB文檔在一個管道處理完畢后將結果傳遞給下一個管道處理。管道操作是可以重復的。管道在Unix和Linux中一般用于將當前命令的輸出結果作為下一個命令的參數。
aggregation 它是數據聚合的一個新框架,其概念類似于數據處理的管道。 每個文檔通過一個由多個節點組成的管道,每個節點有自己特殊的功能(分組、過濾等),文檔經過管道處理后,最后輸出相應的結果。管道基本的功能有兩個:
一是對文檔進行“過濾”,也就是篩選出符合條件的文檔
二是對文檔進行“變換”,也就是改變文檔的輸出形式
其他的一些功能還包括按照某個指定的字段分組和排序等。而且在每個階段還可以使用表達式操作符計算平均值和拼接字符串等相關操作。管道提供了一個MapReduce 的替代方案,MapReduce使用相對來說比較復雜,而管道的擁有固定的接口(操作符表達),使用比較簡單,對于大多數的聚合任務管道一般來說是首選方法。
管道操作符介紹
$project:包含、排除、重命名和顯示字段
$match:查詢,需要同find()一樣的參數
$limit:限制結果數量
$skip:忽略結果的數量
$sort:按照給定的字段排序結果
$group:按照給定表達式組合結果
$unwind:分割嵌入數組到自己頂層文件
$geoNear:返回基于接近地理空間點的有序的文檔流
組聚合操作符介紹
$addToSet:返回在該組中的每個文檔所選擇的字段的所有唯一值的數組
$first:返回組中的第一個值
$last:返回組中的最后一個值
$max:返回組中的最大值
$min:返回組中的最小值
$avg:返回組中的平均值
$push:返回在該組中的每個文檔所選擇的字段的所有值的數組
$sum:返回組中的匯總值
#使用管道可以將多種不同的聚合統計記錄同時返回
db.person.aggregate([{$group:{
_id:"$name", count:{$sum:1}, total:{$sum:"$age"}, max:{$max:"$age"}, min:{$min:"$age"}, avg:{$avg:"$age"} }}])
{ "_id" : "jason", "count" : 2, "total" : 58, "max" : 30, "min" : 28, "avg" : 29}
{ "_id" : "lorraine", "count" : 2, "total" : 47, "max" : 25, "min" : 22, "avg" :23.5 }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/19376.html
摘要:小結是聚合管道查詢使用的方法,參數是數組,每個數組元素就是一個,中運用操作符對數據進行處理后再交由下一個,直到沒有下個,就輸出最終的結果,而數據的處理則是通過使用操作符,本文先簡單介紹了一下有哪些常用的操作符,下一篇再詳細說明。 前言:一般查詢可以通過find方法,但如果是比較復雜的查詢或者數據統計的話,find可能就無能為力了,這時也許你需要的是aggregate. 什么是聚合管道(...
摘要:將返回結果限制為前個。所以,聚合的結果必須要限制在以內支持的最大響應消息大小。包含字段和排除字段的規則與常規查詢中的語法一致。改變字符大小寫的操作,只保證對羅馬字符有效。只對羅馬字符組成的字符串有效。 上一篇文章:MongoDB指南---15、特殊的索引和集合:地理空間索引、使用GridFS存儲文件下一篇文章:MongoDB指南---17、MapReduce 如果你有數據存儲在Mon...
摘要:將返回結果限制為前個。所以,聚合的結果必須要限制在以內支持的最大響應消息大小。包含字段和排除字段的規則與常規查詢中的語法一致。改變字符大小寫的操作,只保證對羅馬字符有效。只對羅馬字符組成的字符串有效。 上一篇文章:MongoDB指南---15、特殊的索引和集合:地理空間索引、使用GridFS存儲文件下一篇文章:MongoDB指南---17、MapReduce 如果你有數據存儲在Mon...
摘要:當在中使用時,累加器是針對每個分組使用的當在中使用時,累加器則是針對每個字面量起作用,具體用法下一篇文章闡述。另外再加以配合表達式操作符組成的表達式或者在或中使用累加器能查詢統計的內容會更加的多樣化。 上篇最后說到管道操作符,本篇文章將詳細說一下管道操作符。 mongoDB查詢進階--聚合管道(一)回顧 什么是管道操作符(Aggregation Pipeline Operators) ...
摘要:當在中使用時,累加器是針對每個分組使用的當在中使用時,累加器則是針對每個字面量起作用,具體用法下一篇文章闡述。另外再加以配合表達式操作符組成的表達式或者在或中使用累加器能查詢統計的內容會更加的多樣化。 上篇最后說到管道操作符,本篇文章將詳細說一下管道操作符。 mongoDB查詢進階--聚合管道(一)回顧 什么是管道操作符(Aggregation Pipeline Operators) ...
閱讀 1336·2021-11-25 09:43
閱讀 1895·2021-11-12 10:36
閱讀 5967·2021-09-22 15:05
閱讀 3481·2019-08-30 15:55
閱讀 2005·2019-08-26 14:06
閱讀 3641·2019-08-26 12:17
閱讀 492·2019-08-23 17:55
閱讀 2449·2019-08-23 16:23