Acerca de las bases de datos NoSQL
En este apartado explicamos los aspectos principales de las bases de datos NoSQL. Tenga en cuenta que las bases de datos NoSQL no admiten relaciones ni instrucciones SQL personalizadas.
Estructuras de datos
Esquema JSON
MapForce usa Schema JSON para describir la estructura de los componentes de bases de datos NoSQL. Tenga en cuenta que en MapForce una estructura es un requisito esencial para las asignaciones de datos. En lugar de campos de BD, el usuario debe incrustar un esquema JSON para conseguir una estructura que se pueda asignar. El esquema puede crearlo el usuario o se puede generar a partir del contenido de la BD. Consulte también Asignar un esquema JSON. MongoDB permite almacenar un esquema en la BD para validar documentos.
Datos en JSON y BSON
MongoDB almacena los documentos en BSON (JSON binario). CouchDB y CosmosDB almacenan los datos en JSON. Consulte JSON and BSON para saber más acerca de las diferencias entre ambos.
Biblioteca de funciones BSON
En la ventana Bibliotecas está disponible la biblioteca de funciones bson, que permite crear y manipular tipos BSON. Para encontrar la biblioteca bson teclee bson en el cuadro de texto que hay en la parte inferior de la ventana Bibliotecas.
Configuración del componente
El cuadro de diálogo Configuración del componente le permite configurar varias opciones relacionadas con la base de datos, como la configuración de la conexión y del inicio de sesión, el tiempo de espera, el control de transacciones y las opciones de trazado. Dependiendo del tipo de base de datos, puede haber diferentes opciones de configuración disponibles. Para más información sobre las opciones de configuración del componente, consulte Configuración del componente de BD.
Consulta, filtrado y combinación de datos de BD
Consulta de BD
Ahora mismo la compatibilidad con el panel de consulta de BD es limitada. El panel de Consulta de BD permite ver la lista de colecciones disponibles en la BD, pero no admite la ejecución de consultas.
Componente WHERE/ORDER de SQL/NoSQL
Puede filtrar y ordenar datos de base de datos con el componente SQL/NoSQL-WHERE/ORDER.
Filtrado de datos en MongoDB y CouchDB
En MongoDB y CouchDB, se utiliza una sintaxis basada en JSON para filtrar y ordenar los datos de la base de datos. Se utiliza el signo @ en lugar de : antes de un parámetro en el filtro de consulta. Para saber más sobre la sintaxis que debe usar para consultar documentos en una colección consulte la documentación de MongoDB.
Filtrado de datos en CosmosDB
CosmosDB utiliza SQL como lenguaje de consulta.
Si el nombre de un contenedor en su CosmosDB tiene caracteres especiales (por ejemplo, +, -, @, etc.) o es una palabra clave, este nombre no podrá utilizarse en las consultas y obtendrá un error de sintaxis de la base de datos. Para evitar posibles problemas, MapForce utiliza la siguiente sintaxis para las consultas en CosmosBD:
SELECT * FROM ROOT AS c WHERE c.<campo> ORDER BY c.<campo>
La palabra clave ROOT de la cláusula FROM hace referencia al contenedor actual que está consultando. Dado que la palabra clave ROOT no puede utilizarse para apuntar a campos en las cláusulas WHERE y ORDER BY, el contenedor recibe el nombre de alias c que se asigna al contenedor mediante la palabra clave AS. Asignar el nombre del alias al contenedor permite filtrar y ordenar su contenido.
Tenga en cuenta que en el cuadro de diálogo WHERE/ORDER, todas las referencias de campo deben llevar como prefijo el nombre de alias c del contenedor (ver ejemplo siguiente).
SELECT * FROM ROOT AS c WHERE c.age > 20 ORDER BY c.name
Componente de combinación
El componente de combinación solo funciona en modo no-SQL.
Acciones de BD de destino
Las bases de datos NoSQL admiten cuatro acciones para las colecciones de BD de destino. Cuando una base de datos NoSQL se usa como componente de destino aparece el botón () junto al nombre de la colección. El botón Acción cambia en función de la acción que se elija. Al hacer clic en ese botón, el cuadro de diálogo Acción de destino de colección de BD se abre y le pide que elija una de estas cuatro acciones: Insertar, Reemplazar, Reemplazar o insertar y Eliminar (imagen siguiente).
A continuación describimos las acciones de destino:
•La acción Insertar: Los datos asignados se insertan en la BD de destino junto a los datos que esta ya contenga (si es el caso).
•La acción Reemplazar reemplaza todo el documento en la BD de destino si su _id coincide con el de los datos asignados.
•La acción Reemplazar o insertar reemplaza todo el documento en la BD de destino si su _id coincide con el de los datos asignados. De lo contrario ejecuta la acción Insertar.
•La acción Eliminar borra todo el documento de la BD de destino si su _id coincide con el de los datos asignados.
Además de seleccionar una acción de destino, también puede habilitar la transferencia por lotes y especificar el tamaño del lote.
Clave primaria
Tenga en cuenta que para MongoDB, la clave primaria es siempre _id. En CouchDB y CosmosDB, la clave primaria es el campo id. La clave primaria es relevante para las operaciones de reemplazo, combinación y eliminación.