Compare Datasets node not working as expected

Describe the problem/error/question

Hi everyone. I stood up n8n for the first time a couple of days ago and am hosting it in a Docker container on my Synology NAS. I’m either having an issue with, or a misunderstanding of, the Compare Datasets node.

I have a single element coming into the node on both the A branch and the B branch, but the node shows that all the values in A only exist in A and not B and that the values in B only exist in B. However, as you can see from the screenshot below, the same values in A are also in B and vice versa.

In the screenshot, the left side is the input from the A branch and the right side is showing what the node is indicating is only in the B branch. I annotated the screenshot to show that what’s in A is also in B and vice versa. There are a total of 29 values on both the A and B sides and I know for a fact that they are the same, but the node is showing otherwise.

Is this a bug in the Compare Datasets node or am I misunderstanding how it works?

What is the error message (if any)?

Please share your workflow

(Select the nodes on your canvas and use the keyboard shortcuts CMD+C/CTRL+C and CMD+V/CTRL+V to copy and paste the workflow.)

Share the output returned by the last node

Information on your n8n setup

  • n8n version: 1.76.1
  • Database: postgres
  • n8n EXECUTIONS_PROCESS setting : unknown
  • Running n8n via : Docker
  • Operating system: Synology DSM 7.2

Thanks for your help

It looks like your topic is missing some important information. Could you provide the following if applicable.

  • n8n version:
  • Database (default: SQLite):
  • n8n EXECUTIONS_PROCESS setting (default: own, main):
  • Running n8n via (Docker, npm, n8n cloud, desktop app):
  • Operating system:

Here, and many other places in n8n, the node parameter is asking for the name of something in the input, not the value of it. Your expressions resolve to values of ID, but those parameters (Input A Field, Input B Field) need to be configured with the field name itself, literally “ID”, from each side. Here’s an example of how it is meant to work, if Input A had a field named “ID”, and Input B had a corresponding/compared field named “theId”.

Thanks, that makes sense.

David

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.