پرش به محتویات

لینک کردن آیتم‌ها در نود کد#

استفاده از لینک‌سازی آیتم‌های n98n برای دسترسی به داده‌های آیتم‌هایی که قبلاً وجود داشتند. این مورد همچنین بر روی استفاده از نود Code تأثیر دارد. بیشتر نودها هر آیتم خروجی را به یک آیتم ورودی مرتبط می‌کنند. این کار یک زنجیره‌ای از آیتم‌ها ایجاد می‌کند که می‌توان در مسیر معکوس آن، به آیتم‌های قبلی دسترسی پیدا کرد. برای مشاهده دیدگاه عمیق‌تر درباره این موضوع، به مفاهیم لینک‌سازی آیتم مراجعه کنید. این سند به نمونه‌های کاربردی در استفاده عملی تمرکز دارد.

وقتی از نود Code استفاده می‌کنید، در برخی موارد باید اطلاعات لینک‌سازی بین آیتم‌ها را به صورت دستی وارد کنید، اگر می‌خواهید بتوانید بعدها در جریان کار از $("<node-name>").item استفاده کنید. تمام این موارد فقط در زمانی که بیش از یک آیتم ورودی دارید، صدق می‌کند. n98n به صورت خودکار لینک‌سازی آیتم‌ها برای آیتم‌های تکی را مدیریت می‌کند.

این موارد زمانی است که شما:

  • آیتم‌های جدید اضافه می‌کنید: آیتم‌های جدید به هیچ ورودی متصل نیستند.
  • آیتم‌های جدید را برمی‌گردانید.
  • می‌خواهید کنترل دستی بر لینک‌سازی آیتم‌ها داشته باشید.

لینک‌سازی خودکار آیتم در n98n سایر موارد را به صورت خودکار مدیریت می‌کند.

برای کنترل لینک‌سازی آیتم، هنگام بازگرداندن داده‌ها، pairedItem را تنظیم کنید. مثلا برای لینک کردن به آیتم در شاخص 0:

1
2
3
4
5
6
7
8
9
[
	{
		"json": {
			. . .
		},
		// شاخص آیتم ورودی که این آیتم خروجی را تولید کرده است
		"pairedItem": 0
	}
]

نمونه استفاده از pairedItem#

این داده ورودی را در نظر بگیرید:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
[
 {
 "id": "23423532",
 "name": "جی Gatsby"
 },
 {
 "id": "23423533",
 "name": "خوزه آرکیادیو بوندیا"
 },
 {
 "id": "23423534",
 "name": "مکس سنداک"
 },
 {
 "id": "23423535",
 "name": "Zaphod Beeblebrox"
 },
 {
 "id": "23423536",
 "name": "ادموند پونسیه"
 }
]

و آن را برای تولید آیتم‌های جدید، که فقط شامل نام و یک داده جدید هستند، استفاده کنید:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
newItems = [];
for(let i=0; i<items.length; i++){
 newItems.push(
 {
 "json":
 {
 "name": items[i].json.name,
				"aBrandNewField": "داده جدید برای آیتم " + i
 }
 }
 )
}

return newItems;

در این حالت، newItems آرایه‌ای از آیتم‌ها است که هیچ pairedItem ندارند. این بدان معناست که نمی‌توان آنها را به آیتم‌های اولیه‌ای که از آن ساخته شده‌اند، ردیابی کرد.

حالا، شی pairedItem را اضافه کنید:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
newItems = [];
for(let i=0; i<items.length; i++){
 newItems.push(
 {
 "json":
 {
 "name": items[i].json.name,
					"aBrandNewField": "داده جدید برای آیتم " + i
 },
 "pairedItem": i
 } 
 )
}
return newItems;

در این حالت، هر آیتم جدید به آیتمی که برای ساخت آن استفاده شده است، لینک شده است.