Se me presento un error el cual era:
TypeError: rxjs_1.lastValueFrom is not a function
la solucion para esto, fue cambiar la version de rxjs
npm i [email protected]^7
Introducción
¿Ya tomaste el Curso de NestJS: Programación Modular?
Instalación de Platzi Store y presentación
Instalación de Docker para este curso
Database
Configuración de Docker para MongoDB
Exploración de la base de datos con Mongo Compass
Instalando y conectado MongoDB Driver
Conexión como inyectable
Ejecutando un query
Usando variables de ambiente en Mongo
Mongoose
¿Qué es Mongoose? Instalación y configuración
Implementando Mongoose en Módulos
Conectando Mongo a los servicios
Create, update y delete
Pipe para mongoid
Agregando paginación
Agregando un filtro de rango para precios
Agregando indexadores
Relaciones en MongoDB
Relaciones uno a uno embebidas
Relaciones uno a uno referenciadas
Relaciones uno a muchos embebidas
Cómo tipar relaciones uno a muchos embebidas
Relaciones uno a muchos referenciadas
Manipulación de arrays en MongoDB
Próximos pasos
Continúa con el Curso de NestJS: Autenticación con Passport y JWT
Aún no tienes acceso a esta clase
Crea una cuenta y continúa viendo este curso
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 {}
Aportes 5
Preguntas 3
Se me presento un error el cual era:
TypeError: rxjs_1.lastValueFrom is not a function
la solucion para esto, fue cambiar la version de rxjs
npm i [email protected]^7
No olviden pasar como opciones useUnifiedTopology al cliente de mongo.
const client = new MongoClient(uri, { useUnifiedTopology: true });
Si tienen un error tras importar MongooseModule:
import { MongooseModule } from'@nestjs/mongoose';
Les recomiendo ir al package.json y cambiar la versión de mongodb a:
"mongodb": "^3.6.4",
Luego tienen que borrar la carpeta de mongodb en /node_modules y correr en la terminal el comando:
npm i
Parece ser un error entre esas dependencias, pero eso soluciona el problema.
yo lo hice la forma que dice la documentacion al usar mongoose,
Primero creando un provider dentro de la carpeta providers crean su archivo database.provider.ts
import * as mongoose from 'mongoose'
export const databaseProviders = [
{
provide: 'DATABASE_CONNECTION',
useFactory: (): Promise<typeof mongoose> =>
mongoose.connect(`url a tu db`)
}
]
import { Module } from '@nestjs/common';
import { databaseProviders } from './database.provider';
@Module({
providers: [...databaseProviders],
exports: [...databaseProviders],
})
export class DatabaseModule {}
Y listo, con eso ya pueden injectar el servicio DATABASE_CONNECTION para tomar la conexion
👏
¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.