{ "name": "compare datasets tests", "nodes": [ { "parameters": {}, "id": "c8767bae-66ba-495c-9d2c-4b0cc192ea22", "name": "Start", "type": "n8n-nodes-base.start", "typeVersion": 1, "position": [-1020, 1640] }, { "parameters": { "mergeByFields": { "values": [ { "field1": "id", "field2": "id" }, { "field1": "text", "field2": "text" } ] }, "options": { "multipleMatches": "first" } }, "id": "80490760-2b76-4e22-977d-6c5142a5ec99", "name": "Compare", "type": "n8n-nodes-base.compareDatasets", "typeVersion": 1, "position": [180, 680] }, { "parameters": { "functionCode": "const data = [\n {\n id: 1,\n text: 'foo',\n data: 'A',\n data2: 555,\n memo: 'test',\n },\n {\n id: 2,\n text: 'bar bar',\n data: 'E',\n },\n {\n id: 3,\n text: 'spam',\n data: 'C',\n },\n {\n id: 4,\n text: 'not matched',\n data: 'Y',\n },\n];\n\nreturn data;" }, "id": "3f4b329b-9d7f-475b-815a-5bb7abfae247", "name": "Function", "type": "n8n-nodes-base.function", "typeVersion": 1, "position": [-100, 600] }, { "parameters": { "functionCode": "const data = [\n {\n id: 1,\n text: 'foo',\n data: 'D',\n data3: 111,\n memo: 'test'\n },\n {\n id: 1,\n text: 'foo',\n data: 'DD',\n },\n {\n id: 2,\n text: 'bar bar',\n data: 'E',\n },\n {\n id: 3,\n text: 'spam',\n data: 'F',\n },\n {\n id: 5,\n text: 'spam',\n data: 'X',\n },\n];\n\nreturn data;" }, "id": "a91e7fe8-b9fb-417f-a434-c15623246c99", "name": "Function1", "type": "n8n-nodes-base.function", "typeVersion": 1, "position": [-100, 760] }, { "parameters": { "functionCode": "if (!(items.length === 2) && items.filter(({json}) => json.text === 'foo' || 'spam').length !== 2) {\n throw new Error('Incorrect data');\n}\n\nreturn {success: true};" }, "id": "bef942a0-21f4-469d-b019-e528140d9686", "name": "Function2", "type": "n8n-nodes-base.function", "typeVersion": 1, "position": [440, 900] }, { "parameters": { "functionCode": "if (!(items.length === 1) && items[0].json.data !== 'Y') {\n throw new Error('Incorrect data');\n}\n\nreturn {success: true};" }, "id": "29b9aa7a-4d1f-442d-9487-7f46e0cba1fe", "name": "Function3", "type": "n8n-nodes-base.function", "typeVersion": 1, "position": [440, 440] }, { "parameters": { "functionCode": "if (!(items.length === 1) && items[0].json.data !== 'E') {\n throw new Error('Incorrect data');\n}\n\nreturn {success: true};" }, "id": "5669e2d2-6cfe-4df2-9513-3871df1fb7f1", "name": "Function4", "type": "n8n-nodes-base.function", "typeVersion": 1, "position": [440, 580] }, { "parameters": { "functionCode": "if (!(items.length === 2) && items.filter(({json}) => json.text === 'foo' || 'spam').length !== 2) {\n throw new Error('Incorrect data');\n}\n\nreturn {success: true};" }, "id": "4f7c534d-da1d-4947-8deb-9736c83e8956", "name": "Function5", "type": "n8n-nodes-base.function", "typeVersion": 1, "position": [440, 740] }, { "parameters": {}, "id": "916d4bb7-066f-41cb-9a4b-c4ce34643923", "name": "first match only by id and text", "type": "n8n-nodes-base.noOp", "typeVersion": 1, "position": [-340, 680] }, { "parameters": { "mergeByFields": { "values": [ { "field1": "id", "field2": "id" } ] }, "resolve": "includeBoth", "options": { "multipleMatches": "all" } }, "id": "ecb9384d-79b2-4ea8-9a44-a1bb9064311d", "name": "Compare1", "type": "n8n-nodes-base.compareDatasets", "typeVersion": 1, "position": [160, 1340] }, { "parameters": { "functionCode": "const data = [\n {\n id: 1,\n data: 'A',\n },\n {\n id: 2,\n data: 'B',\n },\n {\n id: 3,\n data: 'C',\n },\n];\n\nreturn data;" }, "id": "d218a3b7-1f10-42d8-be27-155f15682855", "name": "Function6", "type": "n8n-nodes-base.function", "typeVersion": 1, "position": [-120, 1260] }, { "parameters": { "functionCode": "const data = [\n {\n id: 1,\n data: 'D',\n },\n {\n id: 1,\n data: 'DD',\n },\n {\n id: 2,\n data: 'E',\n },\n {\n id: 2,\n data: 'EE',\n },\n {\n id: 3,\n data: 'F',\n },\n {\n id: 3,\n data: 'FF',\n },\n {\n id: 5,\n data: 'X',\n },\n];\n\nreturn data;" }, "id": "7d8e9189-b8e7-4893-96ac-05533d846503", "name": "Function7", "type": "n8n-nodes-base.function", "typeVersion": 1, "position": [-120, 1420] }, { "parameters": { "functionCode": "if (\n items.filter(({json}) => json.id === 5).length !== 1 \n) {\n throw new Error('Incorrect data');\n}\n\n\nreturn {success: true};" }, "id": "d030711e-4627-456d-936a-5fa433719b77", "name": "Function8", "type": "n8n-nodes-base.function", "typeVersion": 1, "position": [540, 1440] }, { "parameters": { "functionCode": "if (\n items.filter(({json}) => json.keys.id === 1).length !== 2 &&\n items.filter(({json}) => json.keys.id === 2).length !== 2 &&\n items.filter(({json}) => json.keys.id === 3).length !== 2\n) {\n throw new Error('Incorrect data');\n}\n\nreturn {success: true};" }, "id": "c2033b2a-7046-411a-8a8f-8ed8b46a97e3", "name": "Function11", "type": "n8n-nodes-base.function", "typeVersion": 1, "position": [540, 1280] }, { "parameters": {}, "id": "d762ad62-1101-4ef4-912c-d1c6f5dc62fc", "name": "all match by id", "type": "n8n-nodes-base.noOp", "typeVersion": 1, "position": [-360, 1340] }, { "parameters": { "mergeByFields": { "values": [ { "field1": "id.code", "field2": "id.code" } ] }, "resolve": "mix", "exceptWhenMix": "data", "options": { "multipleMatches": "all" } }, "id": "f9e2ccd7-ca40-400a-85eb-32c75169519c", "name": "Compare2", "type": "n8n-nodes-base.compareDatasets", "typeVersion": 1, "position": [160, 1980] }, { "parameters": { "functionCode": "const data = [\n {\n id: {code: 1},\n data: 'A',\n },\n {\n id: {code: 2},\n data: 'B',\n },\n {\n id: {code: 3},\n data: 'C',\n },\n {\n id: {code: 4},\n data: 'AA',\n },\n];\n\nreturn data;" }, "id": "e70cc695-01f5-456c-bdef-bcd85f4c90db", "name": "Function12", "type": "n8n-nodes-base.function", "typeVersion": 1, "position": [-120, 1900] }, { "parameters": { "functionCode": "const data = [\n {\n id: {code: 1},\n data: 'A',\n },\n {\n id: {code: 2},\n data: 'E',\n },\n {\n id: {code: 3},\n data: 'F',\n },\n {\n id: {code: 5},\n data: 'EE',\n },\n];\n\nreturn data;" }, "id": "ae9aea77-57b4-4b5a-bb1f-cedda223a357", "name": "Function13", "type": "n8n-nodes-base.function", "typeVersion": 1, "position": [-120, 2060] }, { "parameters": { "mergeByFields": { "values": [ { "field1": "id.code", "field2": "id.code" } ] }, "resolve": "includeBoth", "options": {} }, "id": "83c6ebd3-dbf3-4175-bf04-313ef47b359e", "name": "Compare3", "type": "n8n-nodes-base.compareDatasets", "typeVersion": 1, "position": [160, 2480], "continueOnFail": true }, { "parameters": { "functionCode": "const data = [\n {\n id: {code: 1},\n data: 'A',\n },\n {\n id: {code: 2},\n data: 'B',\n },\n {\n id: {code: 3},\n data: 'C',\n },\n {\n 'id.code': 'AAA',\n },\n];\n\nreturn data;" }, "id": "91d3256e-dda8-4d8f-9796-f2ab5c5e6372", "name": "Function18", "type": "n8n-nodes-base.function", "typeVersion": 1, "position": [-100, 2400] }, { "parameters": { "functionCode": "const data = [\n {\n id: {code: 1},\n data: 'D',\n },\n {\n id: {code: 2},\n data: 'E',\n },\n {\n id: {code: 3},\n data: 'F',\n },\n {\n 'id.code': 'AAA',\n },\n];\n\nreturn data;" }, "id": "36651bfd-6835-429a-b6f6-eb2cf4ab0178", "name": "Function19", "type": "n8n-nodes-base.function", "typeVersion": 1, "position": [-100, 2560] }, { "parameters": { "functionCode": "if (items[0].json.data !== 'EE') {\n throw new Error('Incorrect data');\n}\n\nreturn {success: true};" }, "id": "b1929edc-cecb-4e0e-9698-e2210df4d839", "name": "Function14", "type": "n8n-nodes-base.function", "typeVersion": 1, "position": [420, 2240] }, { "parameters": { "functionCode": "if (items[0].json.data !== 'AA') {\n throw new Error('Incorrect data');\n}\n\nreturn {success: true};" }, "id": "ffa2e4be-a352-466d-90fd-6be7be8df2c4", "name": "Function15", "type": "n8n-nodes-base.function", "typeVersion": 1, "position": [420, 1780] }, { "parameters": { "functionCode": "if (items[0].json.data !== 'A') {\n throw new Error('Incorrect data');\n}\n\nreturn {success: true};" }, "id": "3f1d1ed6-06ac-43d8-85f8-e290fd3ffbca", "name": "Function16", "type": "n8n-nodes-base.function", "typeVersion": 1, "position": [420, 1920] }, { "parameters": { "functionCode": "if (items.filter(({json}) => json.data === 'E').length !== 1 && items.filter(({json}) => json.data === 'F').length !== 1) {\n throw new Error('Incorrect data');\n}\n\nreturn {success: true};" }, "id": "6a0501c1-922f-48a4-813b-64106da3c988", "name": "Function17", "type": "n8n-nodes-base.function", "typeVersion": 1, "position": [420, 2080] }, { "parameters": { "functionCode": "if (!(items.length === 3)) {\n throw new Error('Incorrect data');\n}\n\nreturn {success: true};" }, "id": "10ce1673-eb0d-4794-a104-05abf0240a8e", "name": "Function20", "type": "n8n-nodes-base.function", "typeVersion": 1, "position": [440, 2560] }, { "parameters": {}, "id": "57138e79-dad4-43c4-b805-9e1cda72cb76", "name": "matching by dot notation", "type": "n8n-nodes-base.noOp", "typeVersion": 1, "position": [-340, 2480] }, { "parameters": {}, "id": "ea46b0bd-bd94-453d-b64e-1574c31fdac4", "name": "matches mix prefer input 1", "type": "n8n-nodes-base.noOp", "typeVersion": 1, "position": [-360, 1980] }, { "parameters": { "functionCode": "if (items[0].json['id.code'] !== 'AAA') {\n throw new Error('Incorrect data');\n}\n\nreturn {success: true};" }, "id": "55362767-c887-4f31-9a23-fd171869e19f", "name": "Function21", "type": "n8n-nodes-base.function", "typeVersion": 1, "position": [440, 2420] }, { "parameters": { "mergeByFields": { "values": [ { "field1": "id.code", "field2": "id.code" } ] }, "resolve": "includeBoth", "options": { "disableDotNotation": true } }, "id": "542ad5ce-31e7-4a26-b561-757a0fa500c9", "name": "Compare4", "type": "n8n-nodes-base.compareDatasets", "typeVersion": 1, "position": [180, 2860], "continueOnFail": true }, { "parameters": { "functionCode": "const data = [\n {\n id: {code: 1},\n data: 'A',\n },\n {\n id: {code: 2},\n data: 'B',\n },\n {\n id: {code: 3},\n data: 'C',\n },\n {\n 'id.code': 'AAA',\n },\n];\n\nreturn data;" }, "id": "8563aa7c-3e6c-47ba-999b-1fee0489a647", "name": "Function22", "type": "n8n-nodes-base.function", "typeVersion": 1, "position": [-80, 2780] }, { "parameters": { "functionCode": "const data = [\n {\n id: {code: 1},\n data: 'D',\n },\n {\n id: {code: 2},\n data: 'E',\n },\n {\n id: {code: 3},\n data: 'F',\n },\n {\n 'id.code': 'AAA',\n },\n];\n\nreturn data;" }, "id": "e5dc38cb-c5c3-4ae2-8bb4-5b1ef74c0a3f", "name": "Function23", "type": "n8n-nodes-base.function", "typeVersion": 1, "position": [-80, 2940] }, { "parameters": { "functionCode": "if (items.length !== 3) {\n throw new Error('Incorrect data');\n}\n\nreturn {success: true};" }, "id": "7739d61b-f62b-47ad-81b5-5fb38b919e01", "name": "Function24", "type": "n8n-nodes-base.function", "typeVersion": 1, "position": [460, 3020] }, { "parameters": { "functionCode": "if (items[0].json['id.code'] !== 'AAA') {\n throw new Error('Incorrect data');\n}\n\nreturn {success: true};" }, "id": "805f2f3d-51e7-45ad-94d3-ebb9a1c47964", "name": "Function25", "type": "n8n-nodes-base.function", "typeVersion": 1, "position": [460, 2880] }, { "parameters": { "functionCode": "if (items.length !== 3) {\n throw new Error('Incorrect data');\n}\n\nreturn {success: true};" }, "id": "b82d6133-783d-4777-818d-dbcbe3a82042", "name": "Function26", "type": "n8n-nodes-base.function", "typeVersion": 1, "position": [460, 2740] }, { "parameters": {}, "id": "1ba0048e-e032-4f6a-903c-3aaf0598f191", "name": "disabled dot notation1", "type": "n8n-nodes-base.noOp", "typeVersion": 1, "position": [-320, 2860] } ], "pinData": { "Function3": [ { "json": { "success": true } } ], "Function4": [ { "json": { "success": true } } ], "Function5": [ { "json": { "success": true } } ], "Function2": [ { "json": { "success": true } } ], "Function11": [ { "json": { "success": true } } ], "Function8": [ { "json": { "success": true } } ], "Function15": [ { "json": { "success": true } } ], "Function16": [ { "json": { "success": true } } ], "Function17": [ { "json": { "success": true } } ], "Function14": [ { "json": { "success": true } } ], "Function21": [ { "json": { "success": true } } ], "Function20": [ { "json": { "success": true } } ], "Function26": [ { "json": { "success": true } } ], "Function25": [ { "json": { "success": true } } ], "Function24": [ { "json": { "success": true } } ] }, "connections": { "Function": { "main": [ [ { "node": "Compare", "type": "main", "index": 0 } ] ] }, "Function1": { "main": [ [ { "node": "Compare", "type": "main", "index": 1 } ] ] }, "Compare": { "main": [ [ { "node": "Function3", "type": "main", "index": 0 } ], [ { "node": "Function4", "type": "main", "index": 0 } ], [ { "node": "Function5", "type": "main", "index": 0 } ], [ { "node": "Function2", "type": "main", "index": 0 } ] ] }, "first match only by id and text": { "main": [ [ { "node": "Function", "type": "main", "index": 0 }, { "node": "Function1", "type": "main", "index": 0 } ] ] }, "Compare1": { "main": [ [], [], [ { "node": "Function11", "type": "main", "index": 0 } ], [ { "node": "Function8", "type": "main", "index": 0 } ] ] }, "Function6": { "main": [ [ { "node": "Compare1", "type": "main", "index": 0 } ] ] }, "Function7": { "main": [ [ { "node": "Compare1", "type": "main", "index": 1 } ] ] }, "all match by id": { "main": [ [ { "node": "Function6", "type": "main", "index": 0 }, { "node": "Function7", "type": "main", "index": 0 } ] ] }, "Compare2": { "main": [ [ { "node": "Function15", "type": "main", "index": 0 } ], [ { "node": "Function16", "type": "main", "index": 0 } ], [ { "node": "Function17", "type": "main", "index": 0 } ], [ { "node": "Function14", "type": "main", "index": 0 } ] ] }, "Function12": { "main": [ [ { "node": "Compare2", "type": "main", "index": 0 } ] ] }, "Function13": { "main": [ [ { "node": "Compare2", "type": "main", "index": 1 } ] ] }, "Function18": { "main": [ [ { "node": "Compare3", "type": "main", "index": 0 } ] ] }, "Function19": { "main": [ [ { "node": "Compare3", "type": "main", "index": 1 } ] ] }, "Compare3": { "main": [ [], [ { "node": "Function21", "type": "main", "index": 0 } ], [ { "node": "Function20", "type": "main", "index": 0 } ] ] }, "Start": { "main": [ [ { "node": "first match only by id and text", "type": "main", "index": 0 }, { "node": "all match by id", "type": "main", "index": 0 }, { "node": "matches mix prefer input 1", "type": "main", "index": 0 }, { "node": "matching by dot notation", "type": "main", "index": 0 }, { "node": "disabled dot notation1", "type": "main", "index": 0 } ] ] }, "matching by dot notation": { "main": [ [ { "node": "Function18", "type": "main", "index": 0 }, { "node": "Function19", "type": "main", "index": 0 } ] ] }, "matches mix prefer input 1": { "main": [ [ { "node": "Function12", "type": "main", "index": 0 }, { "node": "Function13", "type": "main", "index": 0 } ] ] }, "Compare4": { "main": [ [ { "node": "Function26", "type": "main", "index": 0 } ], [ { "node": "Function25", "type": "main", "index": 0 } ], [], [ { "node": "Function24", "type": "main", "index": 0 } ] ] }, "Function22": { "main": [ [ { "node": "Compare4", "type": "main", "index": 0 } ] ] }, "Function23": { "main": [ [ { "node": "Compare4", "type": "main", "index": 1 } ] ] }, "disabled dot notation1": { "main": [ [ { "node": "Function22", "type": "main", "index": 0 }, { "node": "Function23", "type": "main", "index": 0 } ] ] } }, "active": false, "settings": {}, "versionId": "7169a2ae-a8dd-47a1-8339-8ca7554587a9", "id": "114", "meta": { "instanceId": "36203ea1ce3cef713fa25999bd9874ae26b9e4c2c3a90a365f2882a154d031d0" }, "tags": [] }