me parece que para alguien que por primera vez está viendo nodejs y/o mongo este curso es muy confuso, debió ir de lo más simple y luego ir refactorizando, no sólo copiar y pegar código sin probarlo.
Tu primera experiencia con Node.js
¿Dónde aprender backend con Node.js actualizado?
Todo lo que aprenderás sobre backend con Node.js
¿Qué es Node.js?
¿Qué es Node.js y para qué sirve?
Diferencias entre Node.js y JavaScript
Resumen: Diferencias Nodejs y Javascript
Instalación de Node.js
Arquitectura orientada a eventos
Node.js para la web
Manejo y uso de Streams con Node.js
Introducción a streams
Readable y Writable streams
Duplex y Transforms streams
Uso de utilidades de Node.js
Sistema operativo y sistema de archivos
Administrar directorios y archivos
Consola, utilidades y debugging
Clusters y procesos hijos
Crea tu primer proyecto en Express.js
¿Qué es Express.js y para qué sirve?
Creando tu primer servidor con Express.js
Request y Response Objects
Aprende a crear un API con REST
Anatomía de una API Restful
Estructura de una película con Moockaru
Implementando un CRUD en Express.js
Métodos idempotentes del CRUD
Implementando una capa de servicios
Cómo conectarse con librerías externas en Express.js
Creación de una BD en MongoAtlas
Conexión a MongoAtlas una instancia de MongoDB
Conexión con Robot3T y MongoDB Compass a una BD
Implementación de las acciones de MongoDB
Conexión de nuestros servicios con MongoDB
Conoce como funcionan los Middleware en Express.js
¿Qué es un middleware? Capa de manejo de errores usando un middleware
Manejo de errores asíncronos y síncronos en Express
Capa de validación de datos usando un middleware
¿Qué es Joi y Boom?
Implementando Boom
Implementando Joi
Probar la validación de nuestros endpoints
Middlewares populares en Express.js
Implementa tests en Node.js
Creación de tests para nuestros endpoints
Creación de tests para nuestros servicios
Creación de tests para nuestras utilidades
Agregando un comando para coverage
Debugging e inspect
Despliega tu primera aplicación en Express.js
Considerando las mejores prácticas para el despliegue
Variables de entorno, CORS y HTTPS
¿Cómo implementar una capa de manejo de caché?
¿Cómo contener tu aplicación en Docker?
Despliegue en Now
Conclusiones
¿Qué aprendiste en este curso?
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Los métodos de MongoDB para implementar un CRUD son:
Aportes 25
Preguntas 9
me parece que para alguien que por primera vez está viendo nodejs y/o mongo este curso es muy confuso, debió ir de lo más simple y luego ir refactorizando, no sólo copiar y pegar código sin probarlo.
Cual es el motivo por el cual no se uso mongoose ?
Hecho con TypeScript y Mongoose:
JAJAJA gusto mucho esto!!
No es mi culpa que los capítulos sean cortos, MongoDB solo es fácil de aprender.
del recurso compartido del profe
https://github.com/uokesita/the-little-mongodb-book/blob/master/es/mongodb.markdown
Repositorio de la clase:
https://github.com/glrodasz/platzi-backend-node/tree/implementacion-de-las-acciones-de-mongodb
Entiendo que el copy/paste es una utilidad que aumenta la productividad pero Platzi debería prohibirla en los cursos ya que la idea es prácticar, no acortar o perder el aprendizaje
Me hubiera gustado mas con mongoose!
Para las personas que no tengan un conocimiento amplio de mongo a mi me quedo una duda, yo mientras hago los cursos en paralelo trato de hacer mis propios desarrollos y me surgio una duda con esta parte del código :
getAll(collection, query){
return this.connect().then((db) => {
return db.collection(collection).find(query).toArray();
})
}
especialmente dentro de
return db.collection(collection).find(query).toArray();
no entendía bien por que pasaba la
colletion()
de esta forma dado que no hubo una explicacion detallada de esto, por ende consulte:
en las bases de datos de mongo hay una estructura que ya todos conocemos
db.collection.find()
pero yo quede piolín(Osea embalao, no tenia ni idea de por que) cuando vi los paréntesis yo dije juemama por que eso, y es que collection es una clase la cual nos permite pasar una colección por parámetros de una forma mas dinámica
osea que
db.miColeccion.find()
puede pasarser asi
db.collection(miCollecion).find()
dado el caso que estemos tomando desde otro archivo las capacidades de la lib de mongo que construimos! 😄
Espero les sirva chicuelos :3
¿Por que no usar mongoose?
Vaya que esto me está costando entenderlo wow… Creí que usaríamos Mongoose
Pfff mucha data, parece una receta para hacer una torta.
Actualmente si cuando pruebes con postman el API te da un error, quita el puerto de lib/mongo.js de tal manera que te quede así:
const MONGO_URI = `mongodb+srv://${USER}:${PASSWORD}@${config.db_host}/${DB_NAME}?retryWrites=true&w=majority`;```
Que manera mas organiza, lo habia echo antes, pero no como lo hace el profe, OMG que ORDEEEEEN
Me gusto mucho
no prueba el codigo en ningun momento, estoy solo copiando sin saber si esta quedando bien
Hubiese sido bueno ir probando por parte el código, y no solo avanzar y avanzar, iba muy bien el curso, pero encuentro que se calló justo cuando no debía.
✌
Error: listen EACCES: permission denied 3000! Me dio este error y de ahí nunca más pude salir… me super investigué la web y no nada con el puerto 😦
No deberiamos controlar el rechazo de la promesa de connect con el catch y mostar un mensaje si llegara a fallar la conexion.
Donde posteriormente en los servicios verificariamos el valor que retornara la funcion,en este caso,por ejemplo en getAll
devuelvo null en caso de que falle y en el servicio validaria si me regresa un falsyvalue(null,undefines,etc),y responder algo al respecto.
async getAll({ collection, filter = {} }) {
let response = null;
try {
const db = await this.connect();
response = await db.collection(collection).find(filter).toArray();
}
catch(e) {
console.log(`ERROR: ${e.message}`);
}
return response;
}
```
¿Comó es que se podria implementar varias acciones para diferentes colecciones y separalas en archivos distintos?
Por aqui un poco de documentación para entender los metodos de MongoDb al implementar un CRUD https://docs.mongodb.com/manual/crud/
A mi prettier me formatea diferente que a Guillermo 🤨
confundida un poco =(
Genial!! No conocía este CRUD ❤️
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?