Files
crm.clientright.ru/n8n_fix_set_node_with_firstitem.js
Fedor 01c4fe80b5 chore: snapshot current working tree changes
Save all currently accumulated repository changes as a backup snapshot for Gitea so no local work is lost.
2026-03-26 14:19:01 +03:00

53 lines
2.3 KiB
JavaScript

// Решение для Set ноды "форматируем данные под проект"
// Используйте этот Code Node вместо Set ноды для безопасной обработки
// Вариант 1: Получаем данные из предыдущей ноды (если Set идет сразу после Redis)
const inputData = $input.first().json;
// Вариант 2: Получаем данные из конкретной ноды "Пуш списка документов в Redis"
// Раскомментируйте если нужно:
// const redisNode = $('Пуш списка документов в Redis');
// const inputData = redisNode?.first()?.json || {};
// Проверяем наличие данных
if (!inputData || Object.keys(inputData).length === 0) {
console.log('⚠️ Данные из Redis ноды пустые');
return [{
json: {
error: 'no_redis_data',
message: 'Данные из "Пуш списка документов в Redis" недоступны',
// Дефолтные значения для продолжения workflow
documents: [],
formatted_data: {},
timestamp: new Date().toISOString()
}
}];
}
// Выводим структуру для отладки
console.log('Доступные поля:', Object.keys(inputData));
console.log('Данные preview:', JSON.stringify(inputData).substring(0, 200));
// Форматируем данные
// ЗАМЕНИТЕ эти поля на ваши реальные поля из Redis ноды
return [{
json: {
// Пример форматирования (замените на ваши поля)
formatted_field1: inputData.documents || inputData.data || inputData.value || '',
formatted_field2: inputData.metadata || inputData.info || {},
// Если есть массив документов
documents: Array.isArray(inputData.documents) ? inputData.documents :
Array.isArray(inputData.data) ? inputData.data : [],
// Сохраняем исходные данные для отладки
original_data: inputData,
// Метаданные
has_data: true,
data_keys: Object.keys(inputData),
timestamp: new Date().toISOString()
}
}];