MongoDB管道聚合各階段

2021-09-03 10:30:25 字數 1105 閱讀 9089

管道聚合各階段

名稱

描述

$project

改造流中的文件,像通過增加新的字段或移除存在的字段。對於每乙個輸入文件,輸出乙個文件。

$match

過濾文件流,只允許匹配的文件不經過修改進入到下乙個管道階段。$match使用標準的mongodb查詢。對於每個輸入文件,輸出要麼乙個文件(匹配乙個)要麼零個文件(無匹配)。

$redact

通過限制文件的內容(基於儲存於文件它們自己的資訊),改造流中每個文件。結合$project和$match的功能。可用於實施字段級別的校訂。對於每個輸入文件,輸出要麼乙個要麼另個文件。

$limit

當n指定值時,傳遞前n個文件不經修改給管道。對於每個輸入文件,輸出要麼乙個文件(對於前n個文件)要麼零個文件(在前n個文件之後)。

$skip

當n指定為跳過數量時,跳過前n個文件,並傳遞剩下的文件不經過修改給管道。對於每乙個輸入文件,輸出要麼零個文件(對於前n個文件)要麼乙個文件(如果在前n個文件之後)。

$unwind

對於每乙個元素,從輸入文件解構陣列字段輸出乙個文件。每個輸出文件使用元素值替換陣列。對於每個輸入文件,當n為陣列元素個數,輸出n個文件,對於空陣列可以為零。

$group

通過指定識別符號表示式分組輸入的文件,並應用累加器表示式,如果指定,到每個分組。遍歷所有的輸入文件,對於每個不同的分組輸出乙個文件。輸出文件只包含識別符號列和計算列(如果指定)。

$sort

通過指定的排序鍵重排文件流。只有順序改變了;文件保持不變。對於每個輸入文件,輸出乙個文件。

$geouear

返回乙個排序的基於臨近乙個地理空間點的文件流。對於地理空間資料,結合$match、$sort和$limit功能。輸出文件包含額外的距離字段,並可以包含乙個位置識別符號字段。

$out

寫聚合管道的結果文件到乙個集合。在使用$out階段,它必需是管道中的最後乙個階段。

額外資源

mongodb 聚合管道

mongodb聚合管道由多個階段組成。每個階段在文件通過管道時轉換文件。管道階段不需要為每個輸入文件生成乙個輸出文件 例如,有些階段可能會生成新的文件或過濾掉文件。管道階段可以在管道 現多次,但 out merge和 geonear階段除外。有關所有可用階段的列表,請參見聚合管道階段。mongodb...

RUP各階段簡述

用況驅動旨在為到最終產品為止的每個階段都可以回溯到使用者的真正需求。以體系結構為中心是指關注體系結構模式的開發,以引導後續系統,保證系統的平滑演進。每一次迭代包括迭代計畫 迭代評價和一些具體活動。關於核心工作流中的五個活動 需求 分析 設計 實現和測試較好理解,這裡不再贅述。下面對 rup的四個階段...

EFI BIOS各階段介紹

sec是power on 後執行的第乙個部分,要求cpu應事先知道一些平台配置資訊和hw支援特性 產生臨時memory,可以是 processor cache,static ram 或其他在系統早期就可以訪問的system memory。除此還要知道 早期的memory 可以 map 到 boot ...