Problema de migración

Sintaxis deprecada ($items) en n8n

Por qué $items() está deprecado y cómo migrar a la nueva sintaxis

¿Qué es este problema?

La función $items() se usaba en versiones antiguas de n8n para acceder a items de otros nodos. En n8n v2, esta sintaxis está deprecada en favor de $input.all() y $('NodeName').all() que son más explícitas y menos propensas a errores.

Patrones deprecados detectados:

  • $items('NodeName') - accediendo items de un nodo específico
  • $items() - accediendo items del nodo anterior
  • return items - retornando el array de items en modo runOnceForEachItem
  • $node['Name'].data - acceso legacy a datos de nodo

¿Por qué es peligroso?

Incompatibilidad futura

La sintaxis deprecada puede dejar de funcionar completamente en futuras versiones de n8n, rompiendo tus workflows.

Comportamiento inesperado

La sintaxis antigua tiene diferencias sutiles que pueden causar bugs, especialmente con lógica de ramificación.

Funciones faltantes

Nuevas expresiones como filtrado y acceso a primer/último item solo están disponibles con la nueva sintaxis.

Dificultad de depuración

Mezclar sintaxis antigua y nueva hace el código más difícil de entender y mantener.

Cómo solucionarlo

  1. 1

    Reemplazar $items()

    Cambia $items() a $input.all() para obtener todos los items del nodo anterior.

  2. 2

    Reemplazar $items('NodeName')

    Cambia $items('NodeName') a $('NodeName').all() para acceder a items de un nodo específico.

  3. 3

    Actualizar sentencias return

    En modo runOnceForEachItem, usa 'return $input.item' en lugar de 'return items'.

  4. 4

    Reemplazar acceso legacy $node

    Cambia $node['Name'].data a $('Name').first().json para acceder a datos de salida del nodo.

Escanea tu workflow ahora

Sube tu archivo JSON de n8n y detecta instantáneamente sintaxis deprecada que necesita migración.

Buscar problemas de migración

Recursos relacionados

Problemas de migración relacionados