Mi nodo HTTP/API produce varios elementos, pero después de que esos elementos pasan por mi nodo Code, la salida contiene solo un elemento. Estoy usando el nodo Code para eliminar campos innecesarios y preparar la respuesta para otro nodo
Describir el problema/error/pregunta
No hay error de ejecución, pero el número de elementos cambia de múltiples a uno. ¿Cómo debería escribirse el nodo Code para que cada elemento entrante sea procesado y devuelto?
¿Cuál es el mensaje de error (si lo hay)?
Por favor, comparte tu flujo de trabajo
(Selecciona los nodos en tu lienzo y usa los atajos de teclado CMD+C/CTRL+C y CMD+V/CTRL+V para copiar y pegar el flujo de trabajo.)
Comparte la salida devuelta por el último nodo
Información sobre tu configuración de n8n
Versión de n8n: 1.123.x
Base de datos (predeterminada: SQLite):
Configuración EXECUTIONS_PROCESS de n8n (predeterminada: own, main):
Ejecutando n8n a través de (Docker, npm, n8n cloud, aplicación de escritorio): docker JavaScript
El nodo de código se ejecuta de forma predeterminada una sola vez para todos los elementos. En este caso, el código solo se ejecuta una vez para todo el lote.
Mantén el nodo e itera sobre cada elemento, así -
return $input.all().map(item => ({ json: { id: item.json.id, name: item.json.name, // mantén solo los campos que necesitas } }));
En lugar de 1. cambia el modo para ejecutar una vez por cada elemento,
Al usar Ejecutar una vez para todos los elementos, el nodo Code recibe la colección completa y $input.all() devuelve todos los elementos entrantes. Debes transformar esa colección y devolver el array transformado.
Por ejemplo:
Lo importante es que return reciba un array de elementos n8n, en lugar de un elemento individual. Esto permite que el siguiente nodo reciba cada registro de API procesado.