Consultas a MongoDB con Nest.js: Implementación de Endpoints
Clase 8 de 24 • Curso de NestJS: Persistencia de Datos con MongoDB
Contenido del curso
Database
- 4

Configuración y ejecución de MongoDB con Docker Compose
08:51 min - 5

Conexión a Base de Datos MongoDB con Mongo Compass
05:05 min - 6

Instalación y conexión de MongoDB en Node con driver oficial
06:59 min - 7

Inyección de Conexiones MongoDB en Servicios NestJS
06:57 min - 8

Consultas a MongoDB con Nest.js: Implementación de Endpoints
Viendo ahora - 9

Variables de Entorno para Configuración de MongoDB en Node.js
10:43 min
Mongoose
- 10

Instalación y Configuración de Mongoose con NestJS
07:52 min - 11

Definición de Esquemas en Mongoose para eCommerce con NestJS
07:45 min - 12

Operaciones CRUD con MongoDB y Node.js en un Servicio de Productos
09:29 min - 13

Creación, actualización y eliminación de productos en MongoDB
10:12 min - 14

Validación de MongoID con Pipes en NestJS
06:38 min - 15

Paginación en MongoDB con DTOs y Validaciones en NestJS
11:13 min - 16

Consultas Avanzadas con Rangos de Precios en MongoDB
07:30 min - 17

Indexación en MongoDB: Cómo optimizar consultas rápidas
03:11 min
Relaciones en MongoDB
- 18

Relaciones embebidas en MongoDB: Manejo y ejemplos prácticos
07:55 min - 19

Relaciones uno a uno referenciadas en MongoDB
12:20 min - 20

Relaciones Uno a Muchos en MongoDB: Arrays Embebidos vs Referenciados
09:28 min - 21
Tipado de Documentos Embebidos en NestJS con Mongoose
01:49 min - 22

Relaciones Uno a Muchos Referenciadas en MongoDB
14:36 min - 23

Manipulación de Arrays en E-commerce: Métodos y Endpoints
13:08 min
Próximos pasos
Resumen
La parte más importante de conectarse a una base de datos es la obtención de las mismas para su posterior uso.
Cómo realizar consultas a la base
Teniendo establecida la conexión a la base de datos, puedes ejecutar consultas de manera muy sencilla en tus servicios.
// src/app.service.ts
import { Db } from 'mongodb';
@Injectable()
export class AppService {
constructor(@Inject('MONGO') private database: Db,) {}
getProducts() {
const productCollection = this.database.collection('products');
return productCollection.find().toArray();
}
}
Puedes utilizar estas consultas en tus controladores para la creación de endpoints.
// src/app.controller.ts
import { AppService } from './app.service';
@Controller()
export class AppController {
constructor(private readonly appService: AppService) {}
@Get('/products')
getProducts() {
return this.appService.getProducts();
}
}
Así, tienes ya disponible la creación de todo un CRUD con persistencia en base de datos MongoDB para que juegues con tu aplicación.
Contribución creada por: Kevin Fiorentino.
Código de ejemplo para ejecutar una query
// src/app.service.ts
...
@Injectable()
export class AppService {
...
getTasks() { // 👈 Query
const tasksCollection = this.database.collection('tasks');
return tasksCollection.find().toArray();
}
}
// src/app.controller.ts
import { AppService } from './app.service';
@Controller()
export class AppController {
constructor(private readonly appService: AppService) {}
...
@Get('/tasks/') // 👈 New endpoint
getTasks() {
return this.appService.getTasks();
}
}