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:

npm install mongoose

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().

User.find({}, (err, users) => {
  if (err) return console.error(err);
  console.log(users);
});

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:

npm install sequelize
npm install pg pg-hstore

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().

User.findAll().then(users => {
  console.log(users);
}).catch(err => {
  console.error(err);
});

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

  1. Crea un nou model per a una col·lecció de productes amb els camps name, price i category.
  2. Implementa les operacions CRUD per a aquest model.
  3. Prova les operacions CRUD amb exemples pràctics.

Exercici 2: CRUD amb SQL i Sequelize

  1. Crea un nou model per a una taula de productes amb els camps name, price i category.
  2. Implementa les operacions CRUD per a aquest model.
  3. 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

Mòdul 7: Bases de Dades i ORMs

Mòdul 8: Autenticació i Autorització

Mòdul 9: Proves i Depuració

Mòdul 10: Temes Avançats

Mòdul 11: Desplegament i DevOps

Mòdul 12: Projectes del Món Real

© Copyright 2024. Tots els drets reservats