MongoDBIndexAction
Imagina que los índices son como el índice de un libro o los marcadores de un navegador: te permiten encontrar información rápidamente sin tener que revisar página por página. Este componente te permite administrar esos índices directamente en MongoDB. A través de un menú sencillo en tu dashboard, puedes consultar qué índices existen, crear nuevos para acelerar búsquedas o eliminar los que ya no necesites. Internamente, se conecta de forma segura a tu base de datos y se encarga de todos los procesos técnicos, mostrándote solo los resultados importantes para que sigas avanzando en tu automatización sin preocuparte por la complejidad técnica.
Conexión y Credenciales
Este componente requiere configurar previamente una credencial en el panel de Nappai para poder interactuar con el servicio externo:
- Dirígete a la sección de Credenciales en tu panel de Nappai.
- Crea una nueva credencial del tipo especificado para este componente y guarda los campos requeridos (claves de API, tokens, etc.).
- En tu flujo de trabajo, selecciona la credencial guardada en el campo de entrada Credential de este nodo.
Entradas
Los siguientes campos están disponibles para configurar este componente. Cada campo te permite definir qué acción realizar y en qué colección de datos aplicar los cambios:
- Database Name: Nombre de la base de datos donde se encuentra almacenada tu colección. Es el punto de partida para localizar tus datos.
- Collection Name: Nombre de la colección (equivalente a una tabla) donde deseas gestionar los índices de búsqueda. Debes asegurarte de que el nombre coincida exactamente con el registrado en MongoDB.
- Operation: Menú desplegable que determina la acción principal: ver índices existentes, crear un nuevo índice o eliminar uno. Esta selección ajusta automáticamente los campos disponibles en el flujo.
- Index Type: Tipo de índice que deseas crear. Selecciona ‘search’ para búsquedas de texto completo o ‘vectorSearch’ para búsquedas de similitud vectorial (útil para IA y reconocimiento de patrones).
- Index Name: Identificador único que le asignarás al índice. Se recomienda un nombre descriptivo (ej. ‘producto_vector_index’ o ‘busqueda_texto’) para mantener tu flujo organizado.
- Index Definition: Estructura JSON que describe cómo debe comportarse el índice. Define qué campos se indexarán y sus propiedades. Debe ser un código JSON válido o un objeto en modo mapeo.
Salidas
Una vez que el componente ejecuta la acción, te devuelve información estructurada para que puedas seguir automatizando tu flujo:
- Data: Contiene la respuesta detallada de MongoDB. Dependiendo de la operación, podrás ver una lista de metadatos de índices existentes o una confirmación con tiempos de ejecución tras crear/eliminar un índice.
- status: Indica si la operación fue exitosa, falló o fue saltada. Útil para configurar condiciones (ej. “proceder solo si el estado es success”).
- error: Si algo sale mal, aquí aparecerá un mensaje descriptivo con el código de excepción, permitiendo corregir el problema sin detener todo tu flujo de trabajo.
Ejemplo de Respuesta JSONjson
{ “status”: “success”, “data”: { “indexName”: “producto_texto_index”, “type”: “search”, “numIndexesBefore”: 2, “numIndexesAfter”: 3, “executionTimeMs”: 45 }, “error”: null }
Conectividad
Este nodo suele colocarse en etapas de preparación o mantenimiento de datos. Lógicamente, se conecta a:
- Nodos anteriores de carga o sincronización de datos (como importadores de bases de datos o Webhooks) para asegurar que los datos existen antes de aplicar índices.
- Nodos posteriores de transformación o análisis (como filtros, agregadores o herramientas de IA), aprovechando la salida
Datapara verificar que la estructura está optimizada. - Ramas condicionales que usen el campo
statuspara manejar errores automáticamente (ej. redirigir a un nodo de notificación si falla).
Ejemplo de Uso
Imagina que automatizas un sistema de ventas y notas que las búsquedas por “nombre del producto” son lentas. Puedes usar este componente configurando Database Name con tu base de datos, Collection Name con ventas, y Operation en create. Luego, defines un Index Type como search y le asignas un Index Name como busqueda_producto. Al ejecutar el flujo, Nappai creará automáticamente el índice optimizado. En pasos siguientes, podrías usar la salida Data para registrar en un log que la optimización se completó con éxito, o redirigir el flujo si detectas un error en status.
Consejos y Mejores Prácticas
- Revisa el
Database NameyCollection Nameantes de ejecutar: MongoDB es sensible a mayúsculas y minúsculas, una letra incorrecta detendrá el flujo. - Usa nombres descriptivos en
Index Namepara mantener tus flujos organizados y fáciles de auditar en el futuro. - Si planeas crear índices vectoriales para IA, asegúrate de que los campos definidos en
Index Definitioncontengan los vectores de embeddings generados por tu modelo de IA. - Monitorea el campo
statusen cada iteración; si vesfailed, revisa inmediatamente la salidaerrorpara ajustar permisos o sintaxis JSON antes de reintentar.
Consideraciones de Seguridad
- Este componente está diseñado para ser estructural y seguro, evitando la ejecución de código arbitrario en tu base de datos.
- Utiliza siempre credenciales con el mínimo permiso necesario (solo lectura/escritura en la colección objetivo) para evitar modificaciones accidentales en otras bases de datos.
- Los índices de tipo
searchovectorSearchpueden consumir recursos adicionales de memoria y disco; evalúa su necesidad real para mantener el rendimiento general de tu instancia MongoDB estable.