Banner de perfil
0

Salvador Galliano

@salvadorgalliano

Barcelona, Espana

Resuelvo el problema de conexion a MongoDB

Salvador Galliano@salvadorgalliano

El problema son 3, (1) faltan inicializar las variables de entorno. (2) el DB_URI da problemas lo puedes sustituir solo por el nombre que le quieres dar a la base de datos. (3) las variables de entorno tienen valor undefined cuando el archivo es .env.example, necesitas cambiarlo por .env


Estoy asumiendo que cuando clonaste el repo, ejecutaste: npm install e inicializaste el servicio de mongo, en mi caso yo estoy en mac y lo inicialice con brew como se ve en las fotos. Si estas Windows te dejo un resumen de cGPT de que pasos tienes que seguir.


Con estos pasos, podrás instalar y ejecutar MongoDB en Windows de manera sencilla y conectar tu aplicación a la base de datos.

  1. Descarga e instala MongoDB desde la página oficial para Windows.
  2. Durante la instalación, elige la opción "Complete" y asegúrate de habilitar "Install MongoDB as a Service".
  3. Crea el directorio de datos C:\data\db si no se creó automáticamente.
  4. Inicia el servicio MongoDB ejecutando net start MongoDB en una ventana de terminal con permisos de administrador.
  5. Verifica que el servicio esté corriendo usando sc query MongoDB o el Administrador de Servicios de Windows.
  6. Verifica la conexión ejecutando mongo en una terminal para abrir la shell de MongoDB.
  7. Configura tu aplicación para conectar con MongoDB utilizando un archivo .env y un archivo de conexión mongo.js.
  8. Inicia tu aplicación para probar la conexión con MongoDB usando npm start.

Si estan utilizando componentes standalone (2024)

Salvador Galliano@salvadorgalliano

El error que estás viendo indica que Angular no puede encontrar la pipe replaceSpace en el contexto del componente LoginPageComponent. Esto es porque, aunque la pipe está definida como standalone, no ha sido importada en el componente que la utiliza. En Angular, los componentes standalone y las pipes standalone deben ser importados explícitamente en cada lugar donde se utilizan.


Para que les funcione en 2024 (angular ha cambiado)

Salvador Galliano@salvadorgalliano

La función inject es una característica introducida en Angular que facilita la inyección de dependencias directamente dentro de las funciones. En lugar de definir una clase con un constructor para inyectar dependencias, puedes utilizar inject dentro de una función para obtener instancias de los servicios necesarios.


createUrlTree: Facilita la redirección dentro de guards creando una UrlTree que representa la URL a la que el usuario debe ser redirigido.


Gracias por el curso Andress Sacco.

Salvador Galliano@salvadorgalliano

Muy contento con el curso. Durante las clases fueron surgiendo dudas pero es parte del proceso de aprendizaje. Dudas que se fueron resolviendo a medida que avanzaba el temario y leyendo la documentación. Mi proximo curso sera sin dudas el de Bases de datos con Java y Spring del mismo profesor. Gracias por la explicación.


Sugerencia 2

Salvador Galliano@salvadorgalliano

Otra sugerencia podria ser, ir subiendo a distintas ramas del repo cada clase que haces una modificación con un orden lógico por tema y clase (1.0, 1.1, ...6.7) (es mas trabajo, lo se. Pero creo que se puede seguir mejor el curso, sobretodo para posibles errores en los estudiantes), ya que por ejemplo, el repo del curso, solo esta el código final. Y no se por que pero, esta modificación en el pom.xml de esta clase no esta. Por lo tanto nos toca ir pausando y copiando.

No obstante para los que siguen en el curso, debo decir que Andres Sacco explica de 10. Saludos


Sugerencia

Salvador Galliano@salvadorgalliano

Hola Andres, seria bueno saber de donde se sacan todas esas definiciones. Para recabar un poco mas al respecto. Saludos


Me surge una duda.

Salvador Galliano@salvadorgalliano

Por que ReservationDTO si tiene un id, y en los demas DTOs no?

Perdon si se explico antes y no me entere. Saludos.


Me gusta. :D

Salvador Galliano@salvadorgalliano

Que Grande. Estructura y el porque de las herramientas que va utilizar.