聚合操作處理數據記錄并返回計算后的結果。聚合操作將多個文檔分組,并能對已分組的數據執(zhí)行一系列操作而返回單一結果。MongoDB提供了三種執(zhí)行聚合的方式:聚合管道,map-reduce方法和單一目的聚合操作。

聚合管道

MongoDB的聚合框架模型建立在數據處理管道這一概念的基礎之上。文檔進入多階段管道中,管道將文檔轉換為聚合結果。最基本的管道階段類似于查詢過濾器和修改輸出文檔形式的文檔轉換器。

其他的管道為分組和排序提供一些工具,可通過指定一個或多個字段完成分組或排序;同時提供了聚合數組內容的工具,操作的數組包括文檔數組。另外,聚合階段能夠使用一些運算符,完成諸如計算均值或連接字符串之類的任務。

管道利用MongoDB本機的操作方法提供了有效的數據聚合操作,并且對于數據聚合來說采用本機的操作方法是首選的。

聚合管道支持在分片集合上執(zhí)行操作。

聚合管道在它的某些階段能夠使用索引來提高性能。另外,聚合管道有一個內部優(yōu)化階段。

 

Map-Reduce

網友評論