n8n 移除重複項(Remove Duplicates)(10):一次搞懂「當次去重」與「跨執行去重」

重複資料會讓報表失真、通知重複、甚至觸發重複扣款。移除重複項節點(Remove Duplicates)幫你在兩個層級上把關:

  • 當次輸入去重:在同一批資料裡,依「全部欄位」或你選的「欄位子集」比對,移除重複。
  • 跨執行去重:把「已處理過的項目」記起來,之後流進來的同款資料就直接剔除。
    必要時,還能清除去重歷史,重置記憶體庫以配合規則變更或重新跑流程。

你可精準指定比較欄位(All Fields/All Fields Except/Selected Fields),並用選項控制欄位解析(Disable Dot Notation)與輸出載荷(Remove Other Fields)。想把不同節點或整個工作流共享同一套「去重記憶」?用Scope:Node/Workflow就行。

data deduplication process showing identical items being filtered out from a dataset

移除重複項節點 (Remove Duplicates Node) 介紹

移除重複項節點用於識別和刪除以下項:

  • 在單次執行中在所有字段或字段子集中相同的項
  • 與之前執行中看到的項相同或被其超過的項

這在可能出現重複數據的情況下非常有用,例如用戶創建多個帳戶,或客戶多次提交相同訂單的情況。

移除重複項節點 (Remove Duplicates Node) 操作模式

移除當前輸入中重複的項 (Remove Items Repeated Within Current Input)

識別並移除當前輸入中在所有字段或字段子集中的重複項

移除在先前執行中處理過的項 (Remove Items Processed in Previous Executions)

將當前輸入中的項與先前執行中的項進行比較並移除重複項,下一篇會補充

清除去重歷史 (Clear Deduplication History)

清除先前執行中項的記憶

根據您的需求選擇適當的操作模式,可以有效地管理和處理重複數據。

Data streams being filtered and reduced, showing a large funnel narrowing down to a small output, symbolizing data limitation and control

移除當前輸入中重複的項 (Remove Items Repeated Within Current Input)

當您將「操作」字段設置為「移除當前輸入中重複的項」時,移除重複項節點會識別並移除當前輸入中的重複項。它可以在所有字段或字段子集中執行此操作。

比較 (Compare)

選擇 n8n 應比較輸入數據的哪些字段來檢查它們是否相同:

  • 所有字段 (All Fields)
  • 除外所有字段 (All Fields Except)
  • 選定字段 (Selected Fields)

移除當前輸入中重複的項選項

如果您選擇「除外所有字段」或「選定字段」作為比較類型,可以添加以下選項:

禁用點表示法 (Disable Dot Notation)

設置是否使用點表示法以 parent.child 格式引用子字段(關閉)或不使用(開啟)

移除其他字段 (Remove Other Fields)

設置是否移除比較中未使用的任何字段(開啟)或不移除(關閉)

這些選項使您能夠精確控制去重過程中的字段處理方式。

清除去重歷史 (Clear Deduplication History)

當您將「操作」字段設置為「清除去重歷史」時,移除重複項節點管理並清除先前執行中存儲的項。

此操作不影響當前輸入中的任何項。相反,它管理「移除在先前執行中處理過的項」操作使用的項數據庫。

模式 (Mode)

如何管理存儲在數據庫中的鍵/值項:

  • 清理數據庫 (Clean Database):刪除存儲在數據庫中的所有去重數據,將去重數據庫重置為其原始狀態

範圍 (Scope)

設置 n8n 在管理去重數據庫時使用的範圍:

  • 節點 (Node):(默認)管理特定於此移除重複項節點實例的去重數據庫
  • 工作流 (Workflow):管理由所有使用工作流範圍的移除重複項節點實例共享的去重數據庫
Limit node concept showing data filtering with maximum items parameter, some items passing through and others being filtered out

總結

  • 選對操作模式
    • Remove Items Repeated Within Current Input:針對本次輸入去重。比較範圍可選 All / All Except / Selected
    • Clear Deduplication History:重置去重資料庫(Mode:Clean Database),Scope 選 Node(僅此節點)或 Workflow(整個工作流共享)。
  • 欄位與格式先規範
    • 比對前先把鍵值標準化(大小寫、前後空白、型別),避免「看起來一樣其實不同」。
    • 欄位有點號或需原樣比對時,開 Disable Dot Notation
    • 只想輸出比對用欄位就開 Remove Other Fields,減少載荷。
  • 流程設計心法
    • 想保留「最新/最舊」的一筆,請在去重之前Sort 決定順序,再去重更可控。
    • 跨執行去重會持續長大;規則變動或回填歷史時,記得先 Clear History,免得誤砍或漏掉。
    • 多來源共享同一套去重鍵?將 Scope 設為 Workflow,在多個節點重用同一記憶。
  • 常見場景
    • 使用者重複註冊、訂單重複提交、Webhook 重送、排程重跑時的冪等保護。

把去重放在資料入口,你的工作流就能不重複、不誤觸、可回跑,穩定又省資源。

發佈留言

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

返回頂端