Collections MongoDB
1. Introduction à MongoDB dans Softyflow
Dans l'écosystème Softyflow, les Collections sont basées sur MongoDB, une base de données puissante, multiplateforme et orientée document. MongoDB est réputé pour ses hautes performances, sa haute disponibilité et sa facilité de mise à l'échelle, ce qui en fait un choix idéal pour gérer les données de votre application. Il fonctionne sur le concept de collections et de documents, ce qui offre une alternative flexible et évolutive aux bases de données relationnelles traditionnelles (SGBDR).

1.1. Comprendre les Concepts de Base
Pour utiliser efficacement les Collections dans Softyflow, il est important de comprendre la structure fondamentale de MongoDB.
1.1.1. Bases de Données
Une Base de Données agit comme un conteneur physique pour vos collections. Chaque base de données a son propre ensemble de fichiers sur le système de fichiers, et un seul serveur MongoDB peut gérer plusieurs bases de données.
1.1.2. Collections
Une Collection est un regroupement de documents MongoDB, analogue à une table dans une base de données relationnelle. Elle existe au sein d'une seule base de données et n'impose pas de schéma rigide. Cela signifie que les documents au sein de la même collection peuvent avoir des champs différents, bien qu'ils servent généralement un objectif similaire ou connexe.
1.1.3. Documents
Un Document est un ensemble de paires clé-valeur où toutes les données sont stockées. Les documents présentent un schéma dynamique, ce qui permet une flexibilité significative. Les documents de la même collection n'ont pas besoin de partager la même structure, et les champs communs peuvent contenir différents types de données.
1.1.3.1. Exemple de Structure de Document
Voici un exemple de ce à quoi ressemble un document MongoDB. Cette structure permet des données complexes et imbriquées.
{
"_id": "ObjectId(\"7df78ad8902c\")",
"title": "Aperçu de MongoDB",
"description": "MongoDB est une base de données NoSQL",
"by": "Tutorials Point",
"tags": ["mongodb", "database", "NoSQL"],
"likes": 100,
"comments": [
{
"user": "utilisateur1",
"message": "Mon premier commentaire",
"dateCreated": "new Date(\"2011-01-20T02:15:00Z\")",
"like": 0
},
{
"user": "utilisateur2",
"message": "Mon deuxième commentaire",
"dateCreated": "new Date(\"2011-01-25T07:45:00Z\")",
"like": 5
}
]
}
Le champ _id est un nombre hexadécimal de 12 octets qui garantit que chaque document est unique. Vous pouvez fournir votre propre _id lors de l'insertion d'un document. Si vous ne le faites pas, MongoDB générera automatiquement un ID unique.
1.2. Ressources MongoDB Externes
Pour des informations plus approfondies sur les capacités de MongoDB, vous pouvez consulter la documentation officielle :
- Opérateurs de Requête et de Projection : Ces opérateurs vous permettent de localiser des données et de modifier leur présentation.
- Opérateurs de Mise à Jour : Ces opérateurs vous permettent de modifier des données ou d'ajouter de nouvelles données à votre base de données.
- Étapes du Pipeline d'Agrégation : Découvrez les étapes disponibles dans le Pipeline d'Agrégation.
- Opérateurs du Pipeline d'Agrégation : Explorez les opérateurs utilisés pour définir et manipuler des documents dans les étapes du pipeline.
2. Travailler avec les Collections dans Softyflow
Softyflow simplifie le processus de création et de gestion des collections MongoDB directement depuis le studio.
2.1. Créer une Nouvelle Collection
Pour commencer, naviguez vers l'onglet Collection dans votre projet Softyflow et donnez un nom à votre nouvelle collection.

2.2. Effectuer des Opérations CRUD
Les opérations CRUD (Créer, Lire, Mettre à jour, Supprimer) dans MongoDB sont effectuées sur une seule collection à la fois. Softyflow fournit une interface conviviale et des méthodes SDK pour gérer ces opérations.

2.2.1. Opérations de Création (Insertion)
Les opérations d'insertion dans MongoDB sont atomiques au niveau du document unique. Softyflow prend en charge les méthodes d'insertion standard de MongoDB.
- InsertOne dans Softyflow : Vous pouvez insérer un seul document dans votre collection à partir d'un formulaire utilisateur ou d'un processus. Cela se fait généralement en configurant une action. Pour les processus, vous devez d'abord créer une variable d'entrée/sortie, puis sélectionner l'action appropriée. Plus de détails peuvent être trouvés dans la documentation des Actions de l'Interface Web.
Exemple : Soumettre un Formulaire à une Collection
L'image suivante montre une action en plusieurs étapes déclenchée sur un formulaire. D'abord, validateForm s'assure que toutes les données sont valides. Ensuite, InsertOne enregistre les données du formulaire comme un nouveau document dans la collection. Enfin, refreshwidget met à jour l'interface utilisateur pour afficher la nouvelle entrée.

- InsertMany dans Softyflow : Pour insérer plusieurs documents à la fois, vous pouvez utiliser un script. Ceci est détaillé dans la documentation du SDK du Modeleur Web pour insertMany.
2.2.2. Opérations de Lecture (Recherche)
Les opérations de lecture vous permettent de récupérer des documents en utilisant des filtres de requête spécifiques. Vous pouvez en apprendre plus sur les filtres de requête dans la documentation de MongoDB.
Find dans Softyflow : Pour récupérer plusieurs documents, vous pouvez utiliser l'action
find. Elle est disponible à la fois dans les formulaires utilisateur et les processus.FindOne dans Softyflow : Pour récupérer un seul document, utilisez l'action
findOne. Elle est également disponible dans les formulaires utilisateur et les processus.
Exemple : Charger des Données dans un Formulaire
Cette image montre une action qui trouve un document dans une collection et utilise ses données pour remplir les champs d'un formulaire.

2.2.3. Opérations de Mise à Jour
Les opérations de mise à jour modifient les documents existants dans une collection et sont atomiques au niveau du document. Soyez prudent, car les mises à jour sont permanentes.
- UpdateOne dans Softyflow : Vous pouvez mettre à jour un seul document en utilisant une action dans un formulaire utilisateur ou un processus.
Exemple : Mettre à Jour un Document à partir d'un Formulaire
L'image ci-dessous illustre une action configurée pour mettre à jour un document dans une collection en référençant son _id unique.

UpdateMany dans Softyflow : Pour mettre à jour plusieurs documents, un script est requis. Référez-vous à la méthode
updatedu SDK du Modeleur Web pour obtenir des conseils.ReplaceOne : Cette opération remplace un document entier, à l'exception du champ
_id.
2.2.4. Opérations de Suppression
Les opérations de suppression sont utilisées pour supprimer des documents d'une collection et sont également atomiques au niveau du document. Comme les mises à jour, les suppressions sont permanentes.
DeleteOne dans Softyflow : Vous pouvez supprimer un seul document en utilisant une action dans un formulaire utilisateur ou un processus.
DeleteMany dans Softyflow : Pour supprimer plusieurs documents, vous devrez utiliser un script. La méthode
deletedu SDK du Modeleur Web fournit la fonctionnalité nécessaire.