Circular arrow showing items being processed one by one in a loop

n8n Loop Over Items 節點(15):把多筆資料分批處理,保證每筆都跑到位

有些節點天生只吃單一 item(或你想分批打 API 以避免限流),這時就交給 Loop Over Items

它會保存原始輸入,每回合從清單裡吐出 Batch Size 指定數量到 loop 輸出,等全部處理完,再把結果合併後從 done 輸出一次丟回主線。
典型用途:

  • 下游節點只處理第一筆 → 以 Batch Size=1 逐筆餵。
  • 需要「直到清單處理完」的流程控制。
  • 分批呼叫外部服務,降低速率限制風險。

核心設定很單純:

  • Batch Size:每回合要送出的筆數。
  • Reset:開啟後每次循環會以當前輸入重新初始化(用於動態更新來源清單)。
    再加上兩個好用的狀態表達式
  • 是否處理完:{{$node["Loop Over Items"].context["noItemsLeft"]}}
  • 目前回合索引:{{$node["Loop Over Items"].context["currentRunIndex"]}}
Circular arrow showing items being processed one by one in a loop

Loop Over Items 節點

Loop Over Items 節點幫助您在需要時循環處理數據。

該節點保存原始傳入數據,並在每次迭代中通過 loop 輸出返回預定義數量的數據。當節點執行完成時,它合併所有處理過的數據並通過 done 輸出返回。

何時使用

默認情況下,n8n 節點設計為處理輸入項目列表。在以下情況下,Loop Over Items 節點特別有用:

  • 需要循環直到處理完所有項目
  • 處理特定節點例外情況
  • 避免來自其他服務的速率限制

節點參數

Batch Size:輸入每次調用要返回的項目數。

Reset:如果啟用,節點將在每次循環時重置,並使用當前輸入數據重新初始化。

Workflow diagram showing RSS feed data being processed in a loop

Loop Over Items – 實例演示

以下是一個從兩個不同來源讀取 RSS 訂閱的工作流程示例:

添加手動觸發器

開始創建工作流程,添加手動觸發器節點。

添加 Code 節點

添加 Code 節點並輸入以下代碼:

return [
  { json: { url: 'https://medium.com/feed/n8n-io' } },
  { json: { url: 'https://dev.to/feed/n8n' } }
];

添加 Loop Over Items 節點

配置 Loop Over Items:在 Batch Size 字段中設置批量大小為 1。

添加 RSS Feed Read 節點

將 url 從輸入映射到 URL 字段:{{ $json.url }}

在這個例子中,需要 Loop Over Items 節點是因為 RSS Feed Read 節點只處理它接收的第一個項目。

Code snippet showing how to check loop status with expressions

Loop Over Items – 檢查節點狀態

您可以使用表達式檢查 Loop Over Items 節點的狀態:

檢查節點是否已處理所有項目

使用以下表達式:

{{$node["Loop Over Items"].context["noItemsLeft"]}}

如果節點仍有數據要處理,表達式返回 false,否則返回 true。

獲取節點的當前運行索引

使用以下表達式:

{{$node["Loop Over Items"].context["currentRunIndex"];}}

這將返回節點當前正在處理的項目索引。

這些表達式對於創建複雜的循環邏輯和控制工作流程執行非常有用。

總結

  • 什麼時候用
    1. 下游節點只看第一筆;2) 想確保一筆筆處理;3) 要分批打 API/避免限流。
  • 怎麼設
    • Batch Size 決定每回合出貨量;
    • 需要依「最新輸入」重跑回合時才開 Reset
  • 實戰心法
    • 搭配 Wait/Rate Limit 在迴圈中節流更穩。
    • 需逐筆帶入欄位(如 URL),用 {{ $json.<field> }} 於 loop 分支對應。
    • noItemsLeft 在最後一回合後分支到收尾/通知。
    • 需要固定順序就先 Sort 再進 Loop。
  • 常見坑
    • 忘了設 Batch Size=1,下游仍只處理第一筆 → 其餘會被跳過。
    • 不必要地開 Reset 可能導致重複初始化。
    • 回合內大量 payload 合併,注意記憶體;必要時先 Filter/Limit 精簡欄位。

把 Loop Over Items 放在「多筆→逐筆」的關卡,你的工作流就能既準確可控,順利通過限流與單筆節點的限制。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

High Quality

Lorem ipsum dolor sit amet, consectetur adipiscing elitsed do eiusmod tempor.

Fast Delivery

Lorem ipsum dolor sit amet, consectetur adipiscing elitsed do eiusmod tempor.

Best Warranty

Lorem ipsum dolor sit amet, consectetur adipiscing elitsed do eiusmod tempor.