拿到了資料,也學會了加工,現在我們要學習如何讓工作流具備「判斷力」。這章會教你如何根據資料的狀況,讓流程走上不同的路徑。
學習目標 (Goal)
搞懂 If (二分法):只有對或錯兩條路。
掌握 Switch (多路開關):根據不同的關鍵字走多條路。
理解 Filter (篩選器):不符合條件的,通通留下來。

核心觀念 (Concepts)
0. n8n 的比對三部曲 (Universal Comparison Logic)
在學習具體的節點前,你要先掌握 n8n 所有邏輯節點(If, Switch, Filter)共用的「比對套路」。學會這組邏輯,你就學會了所有具備判斷功能的節點。
選擇比對類型 (Data Type):
- 這是新手最容易卡關的地方! 系統必須知道你是在比「標籤文字」還是「數學數字」。
- 如果類型選錯(例如:用 String 去比數字的 10 > 2),結果可能會出錯。
- 常用類型:
String(文字),Number(數字),Boolean(真假值),Date(日期)。

共通的比對方式 (Common Operators):
- Exists / Not Exists (欄位存在):這是 n8n 整合 API 的關鍵!它專門用來檢查「API 是否有回傳這個標籤」。這能防止後續節點因為找不到欄位而意外報錯。
- Is Empty / Not Empty (內容為空):標籤有在,但裡面沒填東西。
- Equal / Not Equal (等於):最基礎的比對邏輯。

上述所提到的是較共同的比較方式,但每種類型都會再加入特有的比較方式,如圖中是String(字串),就會有字串比較會有的如:比較開頭、結尾、包含字串、還有更彈性的正規表示法(regex)。
類型專屬比對 (Type-Specific):
- String:才有
Contains (包含)或Regex (正規表達式)。 - Number:才有
Greater Than (大於)。 - **Date & Time **:才有
is after(超過時間)。

- String:才有
1. If 節點:非黑即白
這是最直覺的邏輯。滿足條件走 true 線,不滿足走 false 線。
- 場景:如果金額 > 1000 走審核線,否則直接結案。If 會有2個輸出,1個是true 線另一個是false 線

2. Switch 節點:多重選擇
當你的條件不只是「對或錯」,而是有三四種可能時,If 節點疊起來會變得很醜(巢狀結構)。這時候 Switch 就派上用場了。
場景:根據「產品類別」分流。電子產品走 0 線(Output 0)、書籍走 1 線(Output 1)、食品走 2 線(Output 2)。
核心配置:設定一個變數,然後列出多個輸出路徑對應的數值。

3. Filter 節點:數據漏斗
Filter 不會產生新的路徑分支,它更像是一個「檢查哨」。 - 功能:符合條件的 Item 才能通過,不符合的會被丟棄(或停止在這一點)。 - 與 If 的差別:如果你只是想「篩掉不要的」,用 Filter 最整潔,它只有1個輸出;如果你的結果兩邊都要處理,才用 If。

下圖雖然看到不成立的 items,但它不會輸出。

節點配置 (Node Setup)
Step 1: 建立判斷依據
我們用 Mock Data 生成幾筆包含 category (類別) 跟 total (金額) 的資料,其中混入一筆低於 100 元的「垃圾資料」。
Step 1.5: 設定 Filter 篩選
拉出
Filter節點接在 Mock Data 後面。設定條件:
{{ $json.total }} > 100。執行後,你會發現只有符合條件的資料會過關,垃圾資料會被擋在門外。

Step 2: 設定 Switch 分流
拉出
Switch節點接在 Filter 後面。Data Type 選
String(或者視變數而定)。Value To Compare 選取
{{ $json.category }}。新增兩個 Rules:
電子對應 Output 0 (第一個出口)。書籍對應 Output 1 (第二個出口)。


Step 3: 設定 If 判斷
在 Switch 之後,我們可以再接一個 If 判斷金額:
拉出
If節點。設定:
{{ $json.total }} >= 1000。測試看看當數值改變時,綠色的線條會往哪邊跑。
NOTE
[擷圖情境:展示畫布上 Switch 之後接了多條線,且其中一條線後又接了 If 節點,形成一個清晰的邏輯樹狀圖]

實戰挑戰 (Challenge)
- 分流大作戰:建立一個包含 5 筆不同類別資料的 Mock Data,用一個
Switch把它們正確分流到三個不同的節點處理。 - 多重篩選:先用
Filter篩掉金額小於 100 的垃圾資料,再用If判斷資料是否具 email 欄位。 - 邏輯陷阱:試試看在
If裡如果不小心把數字當字串比(比如"10"vs10),會發生什麼事?
TIP
邏輯設計的「整潔之道」:能用一次 Switch 解決的,不要用三次 If。不僅畫布好看,以後你回來看邏輯也會輕鬆很多。

