Retour
Mongoose: Introduction

Mongoose est une bibliothèque pour Node.js qui facilite l'utilisation de MongoDB, la base de données NoSQL la plus populaire..
Elle permet de créer des modèles, des schémas et de manipuler les données stockées dans une base de données MongoDB.
Prérequis
Pour suivre cette d'inititaion, vous devez avoir une bonne compréhension du langage JavaScript et des connaissances de base de Node.js.
- Initiation au language Javascript.
- Initiation à la programmation avec NodeJS.
Il faut aussi avoir des connaissances dans le fonctionnement de la base de données MongoDB:
- Initiation à la base de données MongoDB.
Objetcifs
À la fin de ce chapitre, vous serez en mesure de :
- Comprendre les concepts clés de Mongoose, tels que les modèles, les schémas et les documents.
- Installer et configurer MongoDB localement ou utiliser MongoDB Atlas.
- Installer Mongoose et le connecter à une base de données MongoDB.
Structure du projet
Vous pouvez récuperer le projet le départ sur GitHub:
git clone https://github.com/Djemai-Samy/1.mongoose-intiation
Ou récupérer le projet de départ sur GitLab:
git clone https://gitlab.com/tutoriels-dev/2.server/2.nodejs/mongoose/1.mongoose-initiation/-/tree/main
📦expressjs-mongoose
┣ 📂node_modules
┣ 📜package.json
┗ 📜app.js
Puis déplacez vous sur le répertoire:
cd ./mongoose
Installer toutes les dépendances:
npm install
Lancez l'application en mode developpement:
npm run dev
1. Présentation de MongoDB
1.1. MongoDB c'est quoi?
MongoDB est une base de données NoSQL (Not Only SQL) de type document.
Elle stocke les données sous forme de documents JSON (JavaScript Object Notation) dans des collections plutôt que dans des tables comme les bases de données relationnelles.
Cette structure permet une plus grande flexibilité pour les applications modernes qui ont des données qui évoluent rapidement.
En effet, dans les bases de données relationnelles, les tables doivent être modifiées chaque fois qu'un nouveau champ est ajouté, supprimé ou modifié.
Dans MongoDB, les documents peuvent être modifiés à tout moment sans avoir à modifier toute la structure de la base de données.
Vous pouvez appronfondir vos connaissances sur le fonctionnement de MongoDB:
- Qu'est-ce que MongoDB ?.
1.2. Installation de MongoDB localement
Pour installer localement MongoDB et les outils que nous allons utiliser, vous pouvez suivre ce tutoriel.
- Installer MongoDB localement.
- Téléchargez le package d'installation sur le site officiel de MongoDB
- Installez MongoDB en suivant les instructions.
- Lancez le serveur MongoDB en exécutant la commande
mongod
dans un terminal
Lorsque le serveur est lancé, il est possible d'utiliser l'interface en ligne de commande mongo pour interagir avec la base de données.
Il est également possible d'utiliser un client graphique tel que Compass pour visualiser et gérer les données.
- Utiliser MongoDB Compass pour visualiser et intéragir avec une base de données MongoDB.
1.3. MongoDB sur Atlas
Un tutoriel pour utiliser MongoDB sur Atlas est entrain d'être produit. Vous le trouverez bientôt dans la section:
- MongoDB: Initiation.
MongoDB Atlas est un service de base de données cloud qui permet d'héberger des instances MongoDB.
L'utilisation d'un service cloud est recommandée pour les applications qui ont besoin de scalabilité et de disponibilité.
Atlas offre des fonctionnalités de surveillance, de sauvegarde et de restauration des données, ainsi que des fonctions de sécurité avancées telles que l'authentification, l'autorisation et le chiffrement des données.
Pour utiliser Atlas, il faut :
- Créer un compte sur le site officiel de MongoDB Atlas
- Créer un cluster MongoDB en suivant les instructions
- Récupérer la chaîne de connexion pour se connecter à la base de données
2. Mongoose
Mongoose est une bibliothèque JavaScript qui fournit des fonctionnalités de modélisation de données pour les applications Node.js utilisant MongoDB comme base de données.
Elle offre une interface simple et expressive pour gérer les opérations CRUD (create, read, update, delete) sur la base de données MongoDB.
1.Installation
Pour utiliser Mongoose dans une application Node.js, il faut installer le module Mongoose à l'aide de npm
.
- Site web de mongoose
- Package NPM mongoose
- GitHub de mongoose
Dans un terminal, exécutez la commande suivante pour installer Mongoose :
npm install mongoose
2. Connexion à la base de données
Pour se connecter à la base de données MongoDB à l'aide de Mongoose, il faut créer une instance de connexion à la base de données.
Cette instance utilise la chaîne de connexion récupérée lors de la création du cluster MongoDB sur Atlas ou lors de l'installation de MongoDB localement.
Voici un exemple de code pour se connecter à une base de données MongoDB à l'aide de Mongoose :
// Librairie pour intéragir avec une BDD MongoDB
import mongoose from "mongoose";
// L'URI de la base de données locale
const MONGODB_URI = "mongodb://127.0.0.1:27017/mabdd";
/**------------------------------------------------------------
* Connexion à la BDD
*/
mongoose.connect(MONGODB_URI).then(() => {
// Afficher dans la console que la BDD est connecté
console.log("Connecté à la BDD");
})
.catch((err) => {
// Erreur dans le then
console.log("Pas connecté à la BDD");
console.log(err);
});
/**
* -------------------------------------------------------------
*/
3. Les Modèles et les Schémas
Dans MongoDB, les données sont stockées sous forme deJSON
dans des documents et collections.
Vous pour retrouvez ici un explication plus complète du fonctionnement de MongoDB:
- Les documents et collections dans MongoDB.
Les modèles et schémas MongoDB permettent de définir la structure des documents qui seront stockés dans la collection.
Le modèle est une abstraction qui représente un type de document dans MongoDB.
Il permet d'interagir avec les docuements d'une collection spécifique à travers des propriètés et méthodes de la classe.
Les schémas MongoDB sont utilisés pour définir les règles de validation des données stockées dans un modèle.
Ils définissent les types de données, les contraintes et les options de validation pour les champs d'un document.
Cela permet de s'assurer que les données stockées respectent une structure donnée, ce qui facilite la récupération des données et la gestion des erreurs
Conclusion
Mongoose est un module Node.js qui facilite la modélisation des données pour les applications utilisant MongoDB comme base de données.
Dans ce cours, nous avons appris à installer MongoDB localement ou à utiliser Atlas pour héberger la base de données et comment installer et utiliser Mongoose sur un projet Node.js.
Nous avons également vu ce que sont les modèles et les schémas et leur relation avec les documents et collections de MongoDB.
Dans les prochain article, nous allons voire comment utiliser mongoose pour intéragir avec la base de données, et vous apprendrez à créer des modèles, et des schémas et à effectuer des opérations CRUD avec Mongoose.
Aller plus loin
Commentaires

2. Mongoose: Les Opérations
Dans ce cours, vous apprendrez à créer des modèles, des schémas et à effectuer des opérations CRUD avec Mongoose et ExpressJS.
Vous découvrirez également comment gérer les relations entre les modèles, valider les données et effectuer des recherches complexes.
Javascript
NodeJS
MongoDb
Mongoose
NoSQL

3. Mongoose: Les Opérateurs
Apprendre de comprendre comment effectuer des requêtes sur une base de données MongoDB en utilisant le module Mongoose de Node.js.
À la fin du cours, vous serez en mesure de manipuler les données en utilisant des queries et filtres.
Javascript
NodeJS
Mongoose
MongoDB
NoSQL
Operators
1