El nodo Bases de datos conecta tu flujo con tus bases de Datum y ejecuta operaciones sobre los registros sin escribir código. Eliges la base, la colección y la operación, y el panel arma la petición por ti.
Piensa en este nodo como un intermediario entre tu flujo y Datum: tú le indicas qué quieres hacer con los registros y él se encarga de hablar con el servicio.
Concepto clave
Toda operación del nodo se resuelve contra una base + una colección + una operación. Los tres son obligatorios para que el nodo pueda construir la petición correcta.
| Concepto | Qué significa |
|---|
| Base de datos | El contenedor que tienes provisionado en Datum (equivale a “la base”). |
| Colección | La tabla dentro de la base: usuarios, pedidos, productos, etc. |
| Operación | La acción que realizarás sobre la colección: listar, obtener, crear, actualizar o eliminar. |
Cambiar cualquiera de los tres limpia los campos dependientes de abajo. Si ya habías ingresado datos que se perderían, el panel te avisa con un modal antes de aplicar el cambio.
Configuración
El panel se organiza de arriba hacia abajo, en el mismo orden en que debes configurarlo.
Base de datos
Selector con las bases que tu cuenta tiene disponibles en Datum. Junto al label aparece un botón Abrir que abre la base en una pestaña nueva del app de Datum, útil para revisar colecciones y registros mientras configuras el nodo.
Si la lista aparece vacía o ves un error 401/403, tu usuario no tiene permiso sobre esa base. Contacta al administrador de Datum en tu cuenta.
Colección
Solo se habilita cuando hay una base seleccionada. Muestra las colecciones que creaste en la base (las colecciones internas de Datum no aparecen). Mientras cargan, el selector queda deshabilitado; si la carga falla, se mantiene deshabilitado hasta que la base cambie o se corrijan los permisos.
Operación
Define qué hará el nodo sobre la colección:
| Operación | Para qué sirve |
|---|
| Listar registros | Traer varios registros con filtros, orden y paginación. |
| Obtener registro | Traer un único registro por su id. |
| Crear registro | Insertar un nuevo registro. |
| Actualizar registro | Modificar un registro existente por id. |
| Eliminar registro | Borrar un registro por id. |
Campos según operación
El resto del panel cambia en función de la operación elegida.
ID del registro
Requerido por Obtener, Actualizar y Eliminar. Acepta un valor fijo o una variable:
{{$context.userRecordId}}
Si eliges Obtener, Actualizar o Eliminar y dejas el ID vacío, el servicio responde con 404 Record not found. Esto es intencional: protege de llamadas accidentales contra toda la colección cuando lo que pedías era un único registro.
Valores de los campos
Para Crear y Actualizar, el panel abre un editor con un control específico por tipo de campo declarado en la colección:
| Tipo del campo | Control |
|---|
text, email, url, number | Input con soporte de variables |
bool | Interruptor true/false o entrada de variable |
date | Calendario + selector de hora o entrada de variable |
select (simple o múltiple) | Selector desplegable o entrada de variable |
editor | Editor de texto enriquecido |
json | Área de texto con sintaxis JSON |
En los tipos que lo soportan, un selector junto al campo alterna entre Valor fijo (el control propio del tipo) y Variable (entrada libre para inyectar un {{$memory.x}} o {{$context.y}}).
Filtros (solo Listar)
Constructor visual con uno o varios términos unidos por AND. Cada fila se compone de campo, operador y valor.
| Operador | Significado |
|---|
=, != | Igual / distinto |
>, >=, <, <= | Comparación numérica o de fecha |
~ | Contiene el texto |
!~ | No contiene el texto |
Los términos a los que les falta el campo o el valor se ignoran al ejecutar — no bloquean la petición ni generan error; simplemente no forman parte del filtro final.
Ordenamiento (solo Listar)
Constructor con una fila por criterio. En cada fila eliges el campo y la dirección (ascendente o descendente). Los criterios se aplican en el orden en que están visibles.
Paginación (solo Listar)
Dos campos numéricos: página (por defecto 1) y por página (por defecto 50). Si dejas uno vacío o con un número inválido, el nodo usa el valor por defecto al ejecutar.
Guardar la respuesta
Activa el toggle Guardar respuesta en el encabezado del panel y define un nombre de variable. La respuesta completa del servicio se almacena en esa variable y queda disponible en los nodos siguientes.
Acceder a la respuesta sin manipulación
Usa la variable directamente en otros nodos:
{{$context.basesRespuesta}}
Manipular la respuesta en un nodo Código
let respuesta = $context.getHttpResponse('basesRespuesta')
respuesta = respuesta.json()
const primerRegistro = respuesta.items?.[0]
$memory.set('primerRegistro', primerRegistro)
La llave que uses en $context.getHttpResponse('basesRespuesta') debe coincidir exactamente con la que configuraste en “Guardar respuesta”.
Respuesta de prueba
El botón Probar del encabezado ejecuta la petición contra Datum y abre un popover con el resultado. El popover muestra:
- Código de estado (por ejemplo,
200 o 404)
- Pestaña Cuerpo — respuesta formateada como JSON con botón de copiar
- Pestaña Encabezados — encabezados de respuesta del servicio
Si cierras el popover y lo vuelves a abrir sin tocar la configuración, el nodo muestra la última respuesta en lugar de hacer una nueva llamada al servicio. En cuanto modificas cualquier campo, esa respuesta se marca como desactualizada y la próxima apertura ejecuta de nuevo.