À propos de bases de données NoSQL
Cette sous-section discute les principaux points des bases de données NoSQL. Veuillez noter que les bases de données NoSQL ne prennent pas en charge les instructions relations et SQL personnalisées.
Structures de données
Schéma JSON
MapForce utilise un schéma JSON pour décrire la structure des composants de base de données NoSQL. Veuillez noter que dans MapForce, une structure de données est un prérequis essentiel pour le mappage de données. À la place de champs dans une table de base de données, l’utilisateur doit incorporé un schéma JSON pour recevoir une structure qui peut être mappée. Le schéma peut être user-created ou auto-generated depuis le contenu de la base de données. Voir les détails dans Attribuer le Schéma JSON. MongoDB prend en charge l’entreposage d’un schéma dans la base de données pour valider les documents.
Données dans JSON et BSON
MongoDB entrepose les documents dans BSON (JSON binaire). CouchDB CosmosDB données d’entreposage dans JSON. Voir JSON et BSON pour en savoir plus sur leurs différences.
Bibliothèque de fonction BSON
La bibliothèque de fonction bson est disponible dans la fenêtre de blibliothèques, qui permet de créer et de manipuler des types BSON. Pour trouver la bibliothèque bson, saisissez bson dans la zone de texte en bas de la fenêtre bibliothèques.
Paramètres de composant
La boîte de dialogue Paramètre de Composant vous permet de configurer divers paramètres associés à la base de données, tels les paramètres de connexion et de login, le délai d‘expiration, la gestion de transaction et les paramètres de suivi. Dépendant du type de base de données, différents paramètres peuvent être disponibles. Pour en savoir plus sur les paramètres de composant, voir Paramètres de composant DB .
Interroger, filtrer et joindre des données BD
Requête BD
Actuellement, la prise en charge est limitée dans le volet de requête BD. Le volet de requête BD vous permet de voir une liste de collections disponibles dans votre base de données mais l’exécution de requête n’est pas prise en charge.
Composant SQL/NoSQL Where/Order
Vous pouvez filtrer et trier des données de base de données en utilisant le composant SQL/NoSQL-WHERE/ORDER.
Filtrer les données dans MongoDB et CouchDB
Dans MongoDB et CouchDB, la syntaxe basée sur JSON est utilisée pour filtrer et trier des données de base de données ; le signe "@" est utilisé à la place de ":" avant un paramètre dans le filtre de requête. Pour en savoir plus sur la syntaxe pour réaliser une requête de documents dans une collection, voir la documentation MongoDB.
Filtrer les données dans CosmosDB
CosmosDB utilise un langage de requête.
Si le nom d’un conteneur dans votre CosmosDB a un caractère spécial (par ex., +, -, @, etc.) ou s’il est un mot-clé, ce nom ne pourra pas être utilisé dans les files d’attente, et vous recevrez une erreur de syntaxe depuis la base de données. Pour éviter de tels problèmes potentiels, MapForce utilise la syntaxe suivante pour les requêtes de CosmosBD :
SELECT * FROM ROOT AS c WHERE c.<field> ORDER BY c.<field>
Le mot-clé ROOT dans la clause FROM référence le conteneur actuel que vous requêtez. Depuis que le mot-clé ROOT ne peut pas être utilisé dans les champs d’adresse des clauses WHERE et ORDER BY, le conteneur est dénommé par un nom alias c qui est attribué au conteneur par le mot-clé AS. Attribuer des noms d’alias au conteneur permet de filtrer et trier les contenus du conteneur.
Notez que dans le dialogue WHERE/ORDER, toutes les références de champ doivent être préfixées avec le nom alias du conteneur c (voir l’exemple ci-dessous).
SELECT * FROM ROOT AS c WHERE c.age > 20 ORDER BY c.name
Composant Join
Le composant Join fonctionne uniquement en mode non-SQL.
Actions BD cible
Aucune base de données NoSQL ne prend en charge quatre actions de collections BD cibles. Lorsqu’une base de données NoSQL est utilisée en tant que composant cible, le bouton (le bouton Action) apparaît à côté du nom de la collection. Le bouton Action change dépendant de l’action choisie. Si vous cliquez sur ce bouton, la boîte de dialogue Action cible de la collection de base de données s’ouvre et suggère de choisir une des quatre actions cible : Insérer, Remplacer, Rechercher ou Insérer et Supprimer (voir la capture d'écran ci-dessous).
La description des actions cible est résumée dans la liste ci-dessous :
•Configurer l'action Insert : Les données mappées seront insérées dans la base de données cible en plus des données (le cas échéant) qui se trouvent déjà dans la base de données.
•L’action Remplacer remplace le document entier dans la base de données cible si son _id correspond à celle dans les données mappées.
•L’action Remplacer ou Insérer remplace le document entier dans la base de données cible si son _id correspond à celle des données mappées. Autrement, l’action Insérer est réalisée.
•L’action Supprimer supprime le document entier dans la base de données cible si son _id correspond à celle dans les données mappées.
Outre le fait de sélectionner une action cibl, vous pouvez aussi activer le transfert bulk et spécifier la taille batch.
Clé primaire
Notez que pour MongoDB, la clé primaire est toujours _id. Dans CouchDB et CosmosDB, la clé primaire est le champ id. La clé primaire est pertinente pour remplacer, fusionner et supprimer les opérations.