En aquest tema, aprendrem a realitzar operacions CRUD (Create, Read, Update, Delete) utilitzant Node.js amb bases de dades. Les operacions CRUD són fonamentals per a qualsevol aplicació que necessiti interactuar amb una base de dades. En aquest mòdul, ens centrarem en MongoDB amb Mongoose i SQL amb Sequelize.
Objectius
- Entendre què són les operacions CRUD.
- Aprendre a implementar operacions CRUD amb MongoDB i Mongoose.
- Aprendre a implementar operacions CRUD amb SQL i Sequelize.
Contingut
Introducció a les Operacions CRUD
CRUD és un acrònim que representa les quatre operacions bàsiques que es poden realitzar en una base de dades:
- Create (Crear): Inserir nous registres a la base de dades.
- Read (Llegir): Recuperar registres de la base de dades.
- Update (Actualitzar): Modificar registres existents a la base de dades.
- Delete (Eliminar): Esborrar registres de la base de dades.
Aquestes operacions són essencials per a la gestió de dades en qualsevol aplicació.
Operacions CRUD amb MongoDB i Mongoose
Configuració Inicial
Abans de començar, assegura't de tenir instal·lats MongoDB i Mongoose. Si no els tens, pots instal·lar Mongoose amb el següent comandament:
Crear un Model
Primer, definirem un model per a la nostra col·lecció de MongoDB. Suposem que estem treballant amb una col·lecció d'usuaris.
const mongoose = require('mongoose');
const userSchema = new mongoose.Schema({
name: String,
email: String,
age: Number
});
const User = mongoose.model('User', userSchema);Create (Crear)
Per crear un nou usuari, utilitzarem el mètode save().
const newUser = new User({
name: 'John Doe',
email: 'john.doe@example.com',
age: 30
});
newUser.save((err) => {
if (err) return console.error(err);
console.log('Usuari creat!');
});Read (Llegir)
Per llegir usuaris de la base de dades, utilitzarem el mètode find().
Update (Actualitzar)
Per actualitzar un usuari, utilitzarem el mètode findByIdAndUpdate().
User.findByIdAndUpdate('user_id', { age: 31 }, (err, user) => {
if (err) return console.error(err);
console.log('Usuari actualitzat!');
});Delete (Eliminar)
Per eliminar un usuari, utilitzarem el mètode findByIdAndDelete().
User.findByIdAndDelete('user_id', (err) => {
if (err) return console.error(err);
console.log('Usuari eliminat!');
});Operacions CRUD amb SQL i Sequelize
Configuració Inicial
Abans de començar, assegura't de tenir instal·lats Sequelize i el connector de la base de dades que estàs utilitzant (per exemple, pg per a PostgreSQL). Pots instal·lar Sequelize amb el següent comandament:
Crear un Model
Primer, definirem un model per a la nostra taula d'usuaris.
const { Sequelize, DataTypes } = require('sequelize');
const sequelize = new Sequelize('database', 'username', 'password', {
host: 'localhost',
dialect: 'postgres'
});
const User = sequelize.define('User', {
name: {
type: DataTypes.STRING,
allowNull: false
},
email: {
type: DataTypes.STRING,
allowNull: false
},
age: {
type: DataTypes.INTEGER,
allowNull: false
}
});Create (Crear)
Per crear un nou usuari, utilitzarem el mètode create().
User.create({
name: 'John Doe',
email: 'john.doe@example.com',
age: 30
}).then(user => {
console.log('Usuari creat!');
}).catch(err => {
console.error(err);
});Read (Llegir)
Per llegir usuaris de la base de dades, utilitzarem el mètode findAll().
Update (Actualitzar)
Per actualitzar un usuari, utilitzarem el mètode update().
User.update({ age: 31 }, {
where: {
id: 'user_id'
}
}).then(() => {
console.log('Usuari actualitzat!');
}).catch(err => {
console.error(err);
});Delete (Eliminar)
Per eliminar un usuari, utilitzarem el mètode destroy().
User.destroy({
where: {
id: 'user_id'
}
}).then(() => {
console.log('Usuari eliminat!');
}).catch(err => {
console.error(err);
});Exercicis Pràctics
Exercici 1: CRUD amb MongoDB i Mongoose
- Crea un nou model per a una col·lecció de productes amb els camps
name,priceicategory. - Implementa les operacions CRUD per a aquest model.
- Prova les operacions CRUD amb exemples pràctics.
Exercici 2: CRUD amb SQL i Sequelize
- Crea un nou model per a una taula de productes amb els camps
name,priceicategory. - Implementa les operacions CRUD per a aquest model.
- Prova les operacions CRUD amb exemples pràctics.
Conclusió
En aquest tema, hem après a realitzar operacions CRUD utilitzant Node.js amb MongoDB i Mongoose, així com amb SQL i Sequelize. Les operacions CRUD són fonamentals per a la gestió de dades en qualsevol aplicació. Amb aquests coneixements, estàs preparat per implementar funcionalitats bàsiques de gestió de dades en les teves aplicacions Node.js.
En el següent mòdul, explorarem l'autenticació i l'autorització, que són aspectes crucials per a la seguretat de les aplicacions web.
Curs de Node.js
Mòdul 1: Introducció a Node.js
Mòdul 2: Conceptes Bàsics
Mòdul 3: Sistema de Fitxers i I/O
Mòdul 4: HTTP i Servidors Web
Mòdul 5: NPM i Gestió de Paquets
Mòdul 6: Framework Express.js
- Introducció a Express.js
- Configuració d'una Aplicació Express
- Middleware
- Routing en Express
- Gestió d'Errors
Mòdul 7: Bases de Dades i ORMs
- Introducció a les Bases de Dades
- Utilitzar MongoDB amb Mongoose
- Utilitzar Bases de Dades SQL amb Sequelize
- Operacions CRUD
Mòdul 8: Autenticació i Autorització
Mòdul 9: Proves i Depuració
- Introducció a les Proves
- Proves Unitàries amb Mocha i Chai
- Proves d'Integració
- Depuració d'Aplicacions Node.js
Mòdul 10: Temes Avançats
Mòdul 11: Desplegament i DevOps
- Variables d'Entorn
- Utilitzar PM2 per a la Gestió de Processos
- Desplegar a Heroku
- Integració i Desplegament Continu
