管道聚合各階段
名稱 | 描述 |
$project | 改造流中的文檔,像通過增加新的字段或移除存在的字段。對于每一個輸入文檔,輸出一個文檔。 |
$match | 過濾文檔流,只允許匹配的文檔不經過修改進入到下一個管道階段。$match使用標準的MongoDB查詢。對于每個輸入文檔,輸出要么一個文檔(匹配一個)要么零個文檔(無匹配)。 |
$redact | 通過限制文檔的內容(基于存儲于文檔它們自己的信息),改造流中每個文檔。結合$project和$match的功能??捎糜趯嵤┳侄渭墑e的校訂。對于每個輸入文檔,輸出要么一個要么另個文檔。 |
$limit | 當n指定值時,傳遞前n個文檔不經修改給管道。對于每個輸入文檔,輸出要么一個文檔(對于前n個文檔)要么零個文檔(在前n個文檔之后)。 |
$skip | 當n指定為跳過數量時,跳過前n個文檔,并傳遞剩下的文檔不經過修改給管道。對于每一個輸入文檔,輸出要么零個文檔(對于前n個文檔)要么一個文檔(如果在前n個文檔之后)。 |
$unwind | 對于每一個元素,從輸入文檔解構數組字段輸出一個文檔。每個輸出文檔使用元素值替換數組。對于每個輸入文檔,當n為數組元素個數,輸出n個文檔,對于空數組可以為零。 |
$group | 通過指定標識符表達式分組輸入的文檔,并應用累加器表達式,如果指定,到每個分組。遍歷所有的輸入文檔,對于每個不同的分組輸出一個文檔。輸出文檔只包含標識符列和計算列(如果指定)。 |
$sort | 通過指定的排序鍵重排文檔流。只有順序改變了;文檔保持不變。對于每個輸入文檔,輸出一個文檔。 |
$geoUear | 返回一個排序的基于臨近一個地理空間點的文檔流。對于地理空間數據,結合$match、$sort和$limit功能。輸出文檔包含額外的距離字段,并可以包含一個位置標識符字段。 |
$out | 寫聚合管道的結果文檔到一個集合。在使用$out階段,它必需是管道中的最后一個階段。 |
額外資源
MongoDB Analytics: Learn Aggregation by Example: Exploratory Analytics and Visualization Using Flight Data
MongoDB for Time Series Data: Analyzing Time Series Data Using the Aggregation Framework and Hadoop
The Aggregation Framework
Webinar: Exploring the Aggregation Framework
Quick Reference Cards
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。