Travailler avec les bases de données en JavaScript : PostgreSQL et MongoDB pour les débutants

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Introduction au travail avec les bases de données en JavaScript (Node.js)

\n

Le développement web moderne se passe rarement d'interaction avec les bases de données. Qu'il s'agisse de stocker des utilisateurs, des articles de blog ou des données d'analyse, savoir travailler avec les bases de données (BDD) est une compétence essentielle pour tout développeur. Dans cet article, nous allons examiner deux des types de bases de données les plus populaires : la base relationnelle PostgreSQL et la base orientée documents MongoDB. Nous écrirons des exemples simples en JavaScript (Node.js) qui vous aideront à démarrer avec les deux systèmes.

\n\n

1. Préparation de l'environnement et installation des dépendances

\n

Avant d'écrire du code, il est nécessaire d'installer les pilotes pour l'interaction de Node.js avec les bases de données choisies. Pour cela, créez un nouveau projet et effectuez l'installation des paquets via npm.

\n\n

Installation des pilotes

\n
    \n
  • pg — un client populaire pour PostgreSQL.
  • \n
  • mongoose — un ODM (Object Document Mapper) pour MongoDB, simplifiant le travail avec les collections.
  • \n
\n
mkdir db-example && cd db-example\nnpm init -y\nnpm install pg mongoose
\n\n

Votre environnement est maintenant prêt pour les expérimentations.

\n\n

2. Travailler avec PostgreSQL depuis Node.js

\n

PostgreSQL est une base de données relationnelle puissante qui utilise SQL pour les requêtes. Nous allons nous connecter à un serveur local, créer une table et effectuer les opérations CRUD de base (Create, Read, Update, Delete).

\n\n

Connexion à la base de données

\n

Créez un fichier postgres.js et ajoutez le code suivant pour la connexion :

\n
const { Pool } = require('pg');\n\nconst pool = new Pool({\n    user: 'your_username',\n    host: 'localhost',\n    database: 'testdb',\n    password: 'your_password',\n    port: 5432,\n});\n\nasync function connect() {\n    try {\n        const client = await pool.connect();\n        console.log('Connecté à PostgreSQL');\n        client.release();\n    } catch (err) {\n        console.error('Erreur de connexion :', err);\n    }\n}\n\nconnect();
\n\n

Création d'une table et insertion de données

\n

Ajoutons maintenant une fonction pour créer la table users et insérer des enregistrements :

\n
async function createTable() {\n    const query = `\n        CREATE TABLE IF NOT EXISTS users (\n            id SERIAL PRIMARY KEY,\n            name VARCHAR(100) NOT NULL,\n            email VARCHAR(100) UNIQUE NOT NULL\n        );\n    `;\n    await pool.query(query);\n    console.log('Table users créée');\n}\n\nasync function insertUser(name, email) {\n    const query = 'INSERT INTO users (name, email) VALUES ($1, $2) RETURNING *';\n    const values = [name, email];\n    const res = await pool.query(query, values);\n    console.log('Utilisateur ajouté :', res.rows[0]);\n}\n\n// Exemple d'utilisation\ncreateTable().then(() => insertUser('Ivan', 'ivan@example.com'));
\n\n

Lecture et mise à jour des données

\n

Récupérons tous les utilisateurs et mettons à jour l'email :

\n
async function getUsers() {\n    const res = await pool.query('SELECT * FROM users');\n    console.log('Tous les utilisateurs :', res.rows);\n}\n\nasync function updateUserEmail(id, newEmail) {\n    const query = 'UPDATE users SET email = $1 WHERE id = $2 RETURNING *';\n    const res = await pool.query(query, [newEmail, id]);\n    console.log('Utilisateur mis à jour :', res.rows[0]);\n}\n\ngetUsers().then(() => updateUserEmail(1, 'ivan_new@example.com'));
\n\n

PostgreSQL est parfait pour les projets où l'intégrité des données et les relations complexes entre les tables sont importantes.

\n\n

3. Travailler avec MongoDB depuis Node.js

\n

MongoDB est une base de données NoSQL qui stocke les données dans un format similaire au JSON (BSON). Elle est flexible et ne nécessite pas de schéma strict. Pour travailler avec, nous utiliserons Mongoose.

\n\n

Connexion à MongoDB

\n

Créez un fichier mongo.js :

\n
const mongoose = require('mongoose');\n\nconst connectDB = async                

Blogs

Book Recommendations