There was a lot of information being sent.
At the if node step extracts me the wrong information.
make a lot of duplicate data
or what should i do
Hi @Panupol_Sonnuam, the amount of items shouldn’t affect the IF node’s ability to process them.
However, your conditions don’t seem to match your workflow data.
The first value in your Check data old IF node is {{$node["Update Find data old"].json["location"]}}
which returns only 70 items from looking at your screenshot. The IF node does, however, receive 72 items. So the missing items will cause problems here as the IF node will not have any data for them. You probably want to use an expression such as {{ $json["location"] }}
instead to process all incoming items.
Next, value 2 of your IF node is {{$node["Airtable Trigger"].json["fields"]["id booking"]}}
. It’s not clear to me how many items your Airtable Trigger returns, but if it’s anything else than 72 items in the exact order your IF node receives it’s also causing problems here and you probably need to use an expression such as {{ $item(0).$node["Airtable Trigger"].json["fields"]["id booking"] }}
in order to always use the first item from your Airtable trigger node as the value 2 of your IF node. The $item(0) method is explained here.
I hope this makes sense and helps!
The first value Should I put a command like this?
{{ $item(0).$json[“location”] }}
Because Update Find data old returns multiple values.
I think in the first value you want to use simply {{ $json["location"] }}
(assuming you want to compare the location
field of every single incoming item).
I’ve tried and it doesn’t seem to work.
Like the first value doesn’t change.
causing the next one to go wrong
I am not sure I can follow. It seems to me like it’s working as expected, the booking id of your first item equals 3wu81dzav, subsequent ones don’t. So I would expect only one item to go to the true output.
I want to check another value too, is that possible?
You mean checking multiple conditions? You can do so by clicking the Add Condition on the IF node:
Or do you want to do something like “does the id from my incoming item exist in the list of items coming from another node”? This would be something the Merge node can do in Keep Key Matches
mode:
I want to check all all incoming data.
The result in the picture should be all true because it will update the information that already exists.
But it seems that it can’t be checked because there are many items.
Maybe need to use a loop item or something?
Hi @Panupol_Sonnuam, this sounds like you’re looking for the Merge node comparing two different data sources with multiple items each (“return all items from list A with an ID that’s also in list B”).
Lorena wrote a comprehensive blog post on such a comparison recently which you can find here: How to synchronize data between two systems – n8n Blog