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: '[email protected]', 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: '[email protected]', 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
,price
icategory
. - 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
,price
icategory
. - 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