Travail avec les bases de données en JavaScript : PostgreSQL et MongoDB pour 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

Travail avec les bases de données en JavaScript (Node.js) : PostgreSQL et MongoDB pour débutants



Lors du développement d'applications web en JavaScript (Node.js), il est presque toujours nécessaire de sauvegarder des données : utilisateurs, commandes, articles ou journaux. Pour cela, on utilise des bases de données (BDD). Dans ce guide, nous allons aborder deux des systèmes les plus populaires : la base relationnelle PostgreSQL et la base orientée documents MongoDB. Vous apprendrez comment vous y connecter depuis Node.js et effectuer les opérations CRUD de base (création, lecture, mise à jour, suppression).



Cet article est destiné aux développeurs débutants qui connaissent les bases de JavaScript. Tous les exemples de code peuvent être exécutés dans votre projet.



1. PostgreSQL : base de données relationnelle



PostgreSQL est une base de données SQL puissante où les données sont stockées dans des tables avec des types de champs stricts. Pour travailler avec elle dans Node.js, nous utiliserons le package pg.



1.1. Installation et connexion



Commencez par installer le package via npm :



npm install pg


Créez un fichier db.js et configurez la connexion à la base de données locale :



const { Pool } = require('pg');

const pool = new Pool({ user: 'postgres', host: 'localhost', database: 'mydb', password: 'password', port: 5432,});

module.exports = pool;


1.2. Création de table et opérations CRUD



Pour commencer, créons une table users avec les champs id, name et email. Ensuite, nous effectuerons toutes les opérations de base.



const pool = require('./db');

// Création de la tableasync function createTable() { await pool.query(` CREATE TABLE IF NOT EXISTS users ( id SERIAL PRIMARY KEY, name VARCHAR(100) NOT NULL, email VARCHAR(100) UNIQUE NOT NULL ); `); console.log('Table users créée');}

// Insertion de données (CREATE)async function addUser(name, email) { const result = await pool.query( 'INSERT INTO users (name, email) VALUES ($1, $2) RETURNING *', [name, email] ); return result.rows[0];}

// Lecture de données (READ)async function getUsers() { const result = await pool.query('SELECT * FROM users'); return result.rows;}

// Mise à jour de données (UPDATE)async function updateUser(id, name) { const result = await pool.query( 'UPDATE users SET name = $1 WHERE id = $2 RETURNING *', [name, id] ); return result.rows[0];}

// Suppression de données (DELETE)async function deleteUser(id) { await pool.query('DELETE FROM users WHERE id = $1', [id]); console.log('Utilisateur supprimé');}

// Exemple d'utilisation(async () => { await createTable(); const newUser = await addUser('Иван', 'ivan@example.com'); console.log('Ajouté :', newUser);

const users = await getUsers(); console.log('Tous les utilisateurs :', users);

await updateUser(1, 'Пётр'); await deleteUser(2);})();


Important : Utilisez toujours des requêtes paramétrées (via $1, $2) pour éviter les injections SQL.



2. MongoDB : base de données NoSQL



MongoDB stocke les données dans un format de documents de type JSON (BSON). Pour Node.js, on utilise le pilote officiel mongodb ou la bibliothèque populaire mongoose. Dans cet exemple, nous utiliserons le pilote.



2.1. Installation et connexion



npm install mongodb


Connexion à MongoDB locale (port par défaut 27017) :



const { MongoClient } = require('mongodb');

const uri = 'mongodb://localhost:27017';const client = new MongoClient(uri);

async function connect() { await client.connect(); console.log('Connecté à MongoDB'); return client.db('mydb'); // base de données mydb}

module.exports = { connect, client };


2.2. Opérations CRUD avec une collection



Dans MongoDB, les tables sont appelées collections et les lignes —

Blogs

Book Recommendations