À propos de bases de données NoSQL
Cette sous-section discute les principaux points des bases de données NoSQL. Les bases de données NoSQL ne prennent pas en charge les instructions relations et de 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. Dans MapForce, une structure de données est une condition préalable indispensable au mappage des 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
BSON (Binary JSON) est une représentation binaire de documents de type JSON principalement utilisée par MongoDB. Certains systèmes qui implémentent des API compatibles avec MongoDB, tels qu'Azure Cosmos DB, prennent également en charge les documents BSON.
CouchDB CosmosDB données d’entreposage dans JSON.
Voir JSON et BSON pour en savoir plus sur leurs différences.
Fonctions BSON
MapForce prend en charge les fonctions suivantes pour travailler avec les types BSON :
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
La clé primaire est importante pour les opérations de remplacement, de fusion et de suppression.
•MongoDB : la clé principale est _id.
•CouchDB et CosmosDB : la clé principale est id.