跳至内容

数据集对比#

Compare Datasets节点可帮助您比较来自两个输入流的数据。

节点参数#

  1. 确定需要比较的字段。在输入A字段中,输入您想从输入流A中使用的字段名称。在输入B字段中,输入您想从输入流B中使用的字段名称。
  2. 可选:您可以按多个字段进行比较。选择添加匹配字段来设置更多比较项。
  3. Choose how to handle differences between the datasets. In When There Are Differences, select one of the following:
    • 使用输入A版本 将输入流A视为真实数据源。
    • 使用输入B版本 将输入流B视为真实来源。
    • Use a Mix of Versions to use different inputs for different fields.
      • 使用Prefer选择输入A版本输入B版本作为主要数据源。
      • 排除以下项中输入例外字段,以便从其他输入源获取数据。如需添加多个输入字段,请输入以逗号分隔的列表。
    • 包含两个版本 以在输出中包含两个输入流,这可能会使结构更加复杂。
  4. 决定是否使用模糊比较。当开启时,在比较字段时会容忍小的类型差异。例如,数字3和字符串3在开启模糊比较时会被视为相同,但关闭时则不会。

理解项目比较#

项目比较是一个两阶段的过程:

  1. n8n会检查您选择用于比较的字段值在两组输入中是否匹配。
  2. 如果要比较的字段匹配,n8n会继续比较项目内的所有字段,以确定项目是相同还是不同。

节点选项#

使用节点选项来优化您的比较或调整比较行为。

跳过比较的字段#

输入您希望在比较中忽略的字段名称。

例如,如果您使用person.language作为匹配字段来比较下面的两个数据集,n8n会将其识别为不同。如果将person.name添加到跳过比较的字段中,n8n会将其识别为匹配。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
	// Input 1
	[
		{
			"person":
			{
				"name":	"Stefan",
				"language":	"de"
			}
		},
		{
			"person":
			{
				"name":	"Jim",
				"language":	"en"
			}
		},
		{
			"person":
			{
				"name":	"Hans",
				"language":	"de"
			}
		}
	]
	// Input 2
		[
		{
			"person":
			{
				"name":	"Sara",
				"language":	"de"
			}
		},
		{
			"person":
			{
				"name":	"Jane",
				"language":	"en"
			}
		},
		{
			"person":
			{
				"name":	"Harriet",
				"language":	"de"
			}
		}
	]

禁用点表示法#

是否禁止在字段名称中使用parent.child来引用子字段(启用)或允许使用(禁用,默认)。

多重匹配#

选择如何处理重复数据。默认选项为包含所有匹配项。您也可以选择仅包含首个匹配项

For example, given these two datasets:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
	// Input 1
	[
		{
			"fruit": {
				"type": "apple",
				"color": "red"
			}
		},
				{
			"fruit": {
				"type": "apple",
				"color": "red"
			}
		},
				{
			"fruit": {
				"type": "banana",
				"color": "yellow"
			}
		}
	]
	// Input 2
	[
		{
			"fruit": {
				"type": "apple",
				"color": "red"
			}
		},
				{
			"fruit": {
				"type": "apple",
				"color": "red"
			}
		},
				{
			"fruit": {
				"type": "banana",
				"color": "yellow"
			}
		}
	]

n8n在相同分支标签页中返回三个项目。两个分支中的数据是相同的。

如果选择仅包含首次匹配项,n8n会在相同分支标签页中返回两个项目。两个分支中的数据相同,但n8n仅返回匹配"apple"项的首次出现。

理解输出内容#

有四种输出选项:

  • 仅A分支: 包含仅出现在第一个输入中的数据。
  • 相同分支: 包含两个输入中相同的数据。
  • 不同分支: 包含输入之间存在差异的数据。
  • 仅B分支: 包含仅出现在第二个输出中的数据。

模板和示例#

Sync Google Sheets data with MySQL

由n8n团队

查看模板详情
Two way sync Pipedrive and MySQL

由n8n团队

查看模板详情
Synchronize your Google Sheets with Postgres

作者:Bela

查看模板详情
浏览比较数据集集成模板, or 搜索所有模板
优云智算