Instalación y Configuración de Mongoose con NestJS
Clase 10 de 24 • Curso de NestJS: Persistencia de Datos con MongoDB
Contenido del curso
- 4

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

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

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

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

Consultas a MongoDB con Nest.js: Implementación de Endpoints
04:46 - 9

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

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

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

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

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

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

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

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

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

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

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

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

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

Manipulación de Arrays en E-commerce: Métodos y Endpoints
13:08
Utilizar el driver oficial de MongoDB para NestJS es una buena manera de trabajar y relacionar estos dos mundos. Pero existe una forma mucho más profesional y amigable que te ayudará a trabajar más rápido y cometer menos errores.
¿Qué es Mongoose como ODM?
Mongoose es un ODM (Object Data Modeling) que permite realizar un mapeo de cada colección de tu base de datos MongoDB a través de esquemas. Estos te ayudarán a acceder a los datos, realizar consultas complejas y estandarizar la estructura de los mismos.
En MongoDB, al ser NoSQL, puedes guardar lo que quieras, en el orden que quieras y con la estructura que quieras. Esto es una muy mala práctica que tienes que evitar ya que traerá serios problemas en un futuro no muy lejano en tu proyecto. Los ODM llegan para solucionar esto.
Cómo instalar Mongoose
Te dejamos esta serie de pasos para utilizar Mongoose.
Paso 1: instalación de Mongoose
Además de la instalación de Mongoose, NestJS posee su propia librería que te ayudará a crear los esquemas, inyectar los servicios y ejecutar las consultas a tu base de datos.
npm install --save @nestjs/mongoose mongoose
Paso 2: importación y configuración de Mongoose
Importa el módulo MongooseModule y pásale la cadena de conexión utilizando, o no, variables de entorno.
import { MongooseModule } from '@nestjs/mongoose';
@Module({
imports: [
MongooseModule.forRoot( `${process.env.MONGO_CONF}://${process.env.MONGO_USER}:${process.env.MONGO_PASS}@${process.env.MONGO_HOST}/${process.env.MONGO_BBDD}`
)
]
})
export class AppModule { }
De esta manera, habrás realizado la conexión de tu base de datos a través de Mongoose, en lugar de utilizar el driver oficial.
Contribución creada por: Kevin Fiorentino.
Código de ejemplo para instalación de Mongoose
npm install --save @nestjs/mongoose mongoose
// src/database/database.module.ts
import { MongooseModule } from '@nestjs/mongoose'; // 👈 Import
@Global()
@Module({
imports: [ // 👈
MongooseModule.forRootAsync({ // 👈 Implement Module
useFactory: (configService: ConfigType<typeof config>) => {
const {
connection,
user,
password,
host,
port,
dbName,
} = configService.mongo;
return {
uri: `${connection}://${host}:${port}`,
user,
pass: password,
dbName,
};
},
inject: [config.KEY],
}),
],
providers: [
{
provide: 'API_KEY',
inject: [config.KEY],
},
],
exports: ['API_KEY', 'MONGO', MongooseModule], // 👈 add in exports
})
export class DatabaseModule {}