Ressources · Intégration n8n

Nœud Compare Datasets n8nConfigurer Compare Datasets dans n8n.

Le nœud Compare Datasets n8n prend deux flux d’entrée et range chaque item dans l’une de ses quatre sorties. Sept paramètres décident du champ qui fait correspondre deux items, de la version qui gagne en cas d’écart, et du sort réservé aux doublons de la liste.

Avis vérifiés sur Trustpilot · Agence IA, automatisation & growth

Pourquoi automatiser

À quoi sert le nœud Compare Datasets n8n ?

Compare Datasets compare deux entrées pour repérer ce qui a changé. Tu lui indiques le champ qui désigne le même enregistrement des deux côtés, et il répartit le résultat sur quatre sorties : In A only Branch pour ce qui n'existe que dans la première entrée, Same Branch pour les items identiques, Different Branch pour ceux qui se correspondent mais divergent, In B only Branch pour ce qui n'existe que dans la seconde.

La comparaison se fait en deux temps. n8n regarde d'abord la valeur des champs choisis dans Fields to Match de part et d'autre. Quand ces clés se correspondent, il compare ensuite tous les autres champs des deux items pour décider s'ils partent dans Same ou dans Different. C'est ce second temps qui explique un phénomène agaçant : un champ qui bouge tout seul, du genre horodatage de synchronisation, suffit à faire passer des enregistrements sains dans Different tant qu'on ne demande pas de l'ignorer.

Trois usages reviennent souvent. Le rapprochement : l'export de la veille sur l'entrée A, celui du jour sur l'entrée B, et la sortie Different devient le journal des changements. La synchronisation dans un sens : des lignes lues dans Google Sheets d'un côté, les enregistrements d'un outil métier de l'autre, In B only qui alimente la création et In A only qui alimente l'archivage. Le dédoublonnage, enfin, avec Multiple Matches réglé sur Include First Match Only pour qu'un contact présent deux fois ne compte qu'une.

Reste à choisir le bon nœud. Merge réunit deux flux en un seul ; celui-ci les garde séparés et dit en quoi ils diffèrent. Switch aiguille sur une condition que tu connais déjà, là où Compare Datasets déduit l'écart en regardant l'autre entrée. Et quand les noms de champs ne concordent pas entre les deux sources, Edit Fields (Set) les aligne avant la comparaison.

Deux limites à garder en tête avant de construire. Le nœud a besoin de ses deux entrées, donc les deux jeux de données doivent être récupérés en amont, et il s'exécute sur les items qu'il reçoit sans ouvrir de workflow : un Schedule Trigger ou un Webhook, c'est-à-dire une URL appelée de l'extérieur, se place devant lui. Par ailleurs les champs se désignent par leur nom, saisi en texte : un renommage en amont casse la correspondance sans prévenir. Pour situer la plateforme elle-même, la Formation n8n reprend ces mécaniques pas à pas.

Paramètres

Quels paramètres pilotent la comparaison ?

Le nœud Compare Datasets compte 7 paramètres. Pour chacun : le nœud tel que tu le configures dans n8n, ce que le paramètre change, et nos notes de terrain.

01

Fields to Match

mergeByFields

Ce que tu vois dans n8n

Notes & cas d'usage

Tout part d'ici. Tu nommes un champ par entrée, et n8n considère que deux items portant la même valeur parlent du même enregistrement avant même de regarder le reste. Le bouton Add Fields to Match ajoute une paire de plus quand une seule clé ne suffit pas.

Paramètres clés

  • Input A Field : le nom du champ côté flux A, saisi en texte, par exemple id.
  • Input B Field : son équivalent côté flux B, qui peut porter un autre nom si les deux outils ne nomment pas leurs clés pareil.
Cas d'usage
un fichier de facturation et un fichier de livraison partagent une référence de commande, le nœud apparie les lignes dessus et ne remonte que celles qui ont bougé.
02

When There Are Differences

resolve

Ce que tu vois dans n8n

Notes & cas d'usage

Deux items se correspondent sur la clé mais divergent sur le reste : ce sélecteur décide de ce que contient réellement la sortie Different.

Paramètres clés

  • Use Input A Version : le flux A fait foi.
  • Use Input B Version : le flux B prend ce rôle.
  • Use a Mix of Versions : la sortie pioche des champs dans les deux entrées. Elle ouvre Prefer, la source principale, et For Everything Except, les champs qui viennent de l’autre côté, séparés par des virgules.
  • Include Both Versions : la sortie contient toutes les données, avec une structure plus complexe.
Cas d’usage
l’outil commercial fait autorité sur le contact, le comptable sur l’adresse.
03

Fuzzy Compare

fuzzyCompare

Ce que tu vois dans n8n

Notes & cas d'usage

Activé, ce réglage tolère de petites différences de type entre les champs. Le nombre 3 et la chaîne '3' sont alors traités comme identiques, alors qu'une comparaison stricte les enverrait dans Different. À laisser désactivé quand c'est justement le changement de type que tu traques.

Paramètres clés

  • Fuzzy Compare : un interrupteur du panneau principal, qui vaut pour toute la comparaison et pas pour un champ en particulier.
Cas d'usage
un tableur renvoie des quantités en texte quand l'autre source les renvoie en nombres, et la liste des écarts redevient lisible.
04

Fields to Skip Comparing

options.skipFields

Ce que tu vois dans n8n

Notes & cas d'usage

Certains champs bougent seuls et ne disent rien de l'enregistrement. Cette option énumère ceux qu'il ne faut pas prendre en compte pour décider si deux items sont identiques, en texte, séparés par des virgules.

Paramètres clés

  • Fields to Skip Comparing : les noms de champs à ignorer, par exemple updated_at, updated_by. Dans l'exemple de la doc, deux jeux comparés sur person.language ressortent différents jusqu'à ce qu'on ajoute person.name ici, après quoi n8n les considère identiques.
Cas d'usage
un export tamponne chaque ligne avec sa date de mise à jour, et ignorer ce seul champ vide la sortie Different de son bruit.
05

Fuzzy Compare

options.fuzzyCompare

Ce que tu vois dans n8n

Notes & cas d'usage

La même tolérance de type se retrouve dans la collection Options du nœud, qu'on ouvre avec Add option. Chaque option ajoutée apparaît comme un champ de plus dans le panneau, et celles qu'on n'ajoute pas gardent leur valeur par défaut : la poser ici, c'est afficher le réglage au milieu des autres arbitrages de comparaison.

Paramètres clés

  • Fuzzy Compare : tolérer ou non de petites différences de type entre les champs comparés, le nombre 3 et la chaîne '3' étant alors traités comme identiques.
Cas d'usage
un workflow qui porte déjà Multiple Matches et Fields to Skip Comparing dans Options garde toute sa politique de comparaison au même endroit.
06

Disable Dot Notation

options.disableDotNotation

Ce que tu vois dans n8n

Notes & cas d'usage

Par défaut, un nom de champ écrit parent.child va chercher une valeur imbriquée dans un objet. Activer cette option interdit cette écriture : le nom est alors lu au premier degré. Désactivée, ce qui est la valeur par défaut, la référence imbriquée continue de fonctionner.

Paramètres clés

  • Disable Dot Notation : interdire ou non de référencer un champ enfant sous la forme parent.child dans le nom du champ.
Cas d'usage
une source renvoie un champ plat dont le nom contient un point, et l'option évite que n8n cherche un enfant qui n'existe pas.
07

Multiple Matches

options.multipleMatches

Ce que tu vois dans n8n

Notes & cas d'usage

Les doublons sont la norme plus que l’exception, et ce sélecteur dit quoi en faire. La valeur par défaut est Include All Matches.

Paramètres clés

  • Include All Matches : sortir plusieurs items s’il y a plusieurs correspondances, ce qui donne trois items dans l’onglet Same Branch sur l’exemple documenté des fruits.
  • Include First Match Only : ne jamais sortir qu’un seul item par correspondance. Le même exemple renvoie alors deux items, la pomme répétée ne comptant qu’une fois.
Cas d’usage
une liste où le même contact apparaît deux fois ne doit déclencher qu’une relance, et Include First Match Only garde le compte juste.
Besoin d'aide

Besoin d'aide pour automatiser Compare Datasets avec n8n ?

L'équipe te répond directement.

Chaque message est lu par une personne.

FAQ

Compare Datasets dans n8n, les questions fréquentes

01Le nœud Compare Datasets n8n est-il gratuit ?
Oui. Compare Datasets est un nœud core livré avec n8n : rien à installer, aucun coût supplémentaire par rapport à ce que tu fais déjà tourner. Il se comporte de la même façon sur n8n Cloud, l'offre hébergée par n8n, et sur une instance auto-hébergée en Docker ou en npm, sous la Community Edition et sa licence Sustainable Use. Un workflow construit d'un côté s'ouvre tel quel de l'autre. Cette page décrit la version 2 du nœud, la plus élevée du catalogue ; un workflow ancien peut afficher une version antérieure avec moins d'options, et un nœud ne change jamais de version tout seul.
02Faut-il des identifiants pour utiliser Compare Datasets ?
Non, et c'est un vrai confort. Ce nœud n'a ni credential, c'est-à-dire un jeu d'identifiants enregistré dans n8n, ni sélecteur Authentication : il n'y a rien à configurer côté compte avant de s'en servir. Tout ce dont il a besoin arrive par ses deux entrées, donc la question de l'authentification appartient aux nœuds placés avant lui, ceux qui vont chercher la liste A et la liste B. Concrètement, tu poses le nœud, tu branches deux branches dessus, tu saisis les noms de champs dans Fields to Match, et tu lances.
03Quelles sont les limites de Compare Datasets ?
Il compare, il ne récupère pas. Les deux jeux de données doivent être chargés par des nœuds en amont, et la comparaison reste structurelle : deux valeurs sont égales ou elles ne le sont pas, sauf si Fuzzy Compare lisse une différence de type. L'appariement repose sur des noms de champs saisis en texte, donc un renommage en amont casse la correspondance en silence, et les noms imbriqués dépendent de la notation à point restée active. Le nœud s'exécute enfin sur les items qu'il reçoit, sans démarrer de workflow : il lui faut un déclencheur devant lui.
04Compare Datasets ou Merge, lequel choisir ?
Ça dépend du résultat attendu. Merge sert quand l'objectif est un flux unique regroupant les deux sources. Compare Datasets sert quand l'objectif est de savoir en quoi les deux sources divergent : il garde les items séparés sur ses quatre sorties, In A only Branch, Same Branch, Different Branch et In B only Branch, ce qu'attend exactement un rapprochement ou une synchronisation. Si la condition d'aiguillage est déjà connue, If ou Switch reste plus simple à relire. Et si le second jeu vient d'une API qu'aucun nœud dédié ne couvre, HTTP Request le récupère d'abord.
05n8n ou Make pour comparer deux jeux de données ?
Ça se joue sur l'hébergement et le modèle de coût. Make est une plateforme d'automatisation hébergée, sans option d'auto-hébergement, facturée à l'opération : comparer un gros volume se paie au volume déplacé. n8n tourne sur Cloud ou sur ta propre machine, ce qui garde les données sur une infrastructure que tu maîtrises et change la façon dont la note se calcule. La logique visuelle diffère aussi : dans n8n, les quatre sorties de ce nœud se câblent sur le canevas et chacune part vers sa propre suite. Les deux font le travail, le choix porte sur ces critères.
Hack'celeration Lab

Reçois nos tips intégration chaque semaine.

Pas de spam. Désinscription à tout moment.