MongoDB, out, merge
本篇接續 MongoDB $out 教學,介紹的是 $out
語法的進階版本 $merge
,客製化程度更高了,能夠處理衝突時該使用覆蓋還是略過等。
$merge
僅能在 aggregation pipeline 中使用,且必須是最後一個執行的階段,也就是說在前面可以執行任何的資料篩選、操作和轉型,最終輸入到目的地。
語法與參數
1 | { $merge: { |
從上述語法上可以得知
into
就是匯入的集合on
指定唯一的欄位,用來做文件比對是否相符,以進行whenMatched
或whenNotMatched
動作,可以是一個或多個欄位let
可以讓使用者自定義的變數$$xxx
whenMatched
當遇到衝突時該..- replace 直接取代
- keepExisting 略過
- merge 嘗試合併(預設選項)
- fail 直接回傳失敗
- pipeline 若有自定義的 user variable,就必須使用 pipeline 參數來客製整個操作細節
whenNotMatched
- insert 直接寫入(預設選項)
- discard 忽略此資料
- fail 直接報錯