Trabajo con bases de datos en JavaScript: PostgreSQL y MongoDB para principiantes

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Introducción al trabajo con bases de datos en JavaScript (Node.js)

\n

El desarrollo web moderno rara vez prescinde de la interacción con bases de datos. Ya sea para almacenar usuarios, publicaciones de blog o datos para análisis, saber trabajar con bases de datos (BD) es una habilidad obligatoria para todo desarrollador. En este artículo, veremos los dos tipos de bases de datos más populares: la relacional PostgreSQL y la orientada a documentos MongoDB. Escribiremos ejemplos sencillos en JavaScript (Node.js) que le ayudarán a comenzar a trabajar con ambos sistemas.

\n\n

1. Preparación del entorno e instalación de dependencias

\n

Antes de escribir código, es necesario instalar los controladores para la interacción de Node.js con las bases de datos seleccionadas. Para ello, cree un nuevo proyecto e instale los paquetes a través de npm.

\n\n

Instalación de controladores

\n
    \n
  • pg — un cliente popular para PostgreSQL.
  • \n
  • mongoose — un ODM (Object Document Mapper) para MongoDB, que simplifica el trabajo con colecciones.
  • \n
\n
mkdir db-example && cd db-example\nnpm init -y\nnpm install pg mongoose
\n\n

Ahora su entorno está listo para experimentar.

\n\n

2. Trabajo con PostgreSQL desde Node.js

\n

PostgreSQL es una potente base de datos relacional que utiliza SQL para las consultas. Nos conectaremos a un servidor local, crearemos una tabla y realizaremos operaciones CRUD básicas (Create, Read, Update, Delete).

\n\n

Conexión a la base de datos

\n

Cree un archivo postgres.js y agregue el siguiente código para la conexión:

\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('Conectado a PostgreSQL');\n        client.release();\n    } catch (err) {\n        console.error('Error de conexión:', err);\n    }\n}\n\nconnect();
\n\n

Creación de tabla e inserción de datos

\n

Ahora agreguemos una función para crear la tabla users e insertar registros:

\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('Tabla users creada');\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('Usuario agregado:', res.rows[0]);\n}\n\n// Ejemplo de uso\ncreateTable().then(() => insertUser('Iván', 'ivan@example.com'));
\n\n

Lectura y actualización de datos

\n

Obtengamos todos los usuarios y actualicemos el email:

\n
async function getUsers() {\n    const res = await pool.query('SELECT * FROM users');\n    console.log('Todos los usuarios:', 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('Usuario actualizado:', res.rows[0]);\n}\n\ngetUsers().then(() => updateUserEmail(1, 'ivan_new@example.com'));
\n\n

PostgreSQL es ideal para proyectos donde la integridad de los datos y las relaciones complejas entre tablas son importantes.

\n\n

3. Trabajo con MongoDB desde Node.js

\n

MongoDB es una base de datos NoSQL que almacena datos en un formato similar a JSON (BSON). Es flexible y no requiere un esquema estricto. Para trabajar, usaremos Mongoose.

\n\n

Conexión a MongoDB

\n

Cree un archivo mongo.js:

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

Blogs

Book Recommendations