Tu primera experiencia con Node.js

1

¿Dónde aprender backend con Node.js actualizado?

2

Todo lo que aprenderás sobre backend con Node.js

3

¿Qué es Node.js?

4

¿Qué es Node.js y para qué sirve?

5

Diferencias entre Node.js y JavaScript

6

Resumen: Diferencias Nodejs y Javascript

7

Instalación de Node.js

8

Arquitectura orientada a eventos

9

Node.js para la web

Manejo y uso de Streams con Node.js

10

Introducción a streams

11

Readable y Writable streams

12

Duplex y Transforms streams

Uso de utilidades de Node.js

13

Sistema operativo y sistema de archivos

14

Administrar directorios y archivos

15

Consola, utilidades y debugging

16

Clusters y procesos hijos

Crea tu primer proyecto en Express.js

17

¿Qué es Express.js y para qué sirve?

18

Creando tu primer servidor con Express.js

19

Request y Response Objects

Aprende a crear un API con REST

20

Anatomía de una API Restful

21

Estructura de una película con Moockaru

22

Implementando un CRUD en Express.js

23

Métodos idempotentes del CRUD

24

Implementando una capa de servicios

Cómo conectarse con librerías externas en Express.js

25

Creación de una BD en MongoAtlas

26

Conexión a MongoAtlas una instancia de MongoDB

27

Conexión con Robot3T y MongoDB Compass a una BD

28

Implementación de las acciones de MongoDB

29

Conexión de nuestros servicios con MongoDB

Conoce como funcionan los Middleware en Express.js

30

¿Qué es un middleware? Capa de manejo de errores usando un middleware

31

Manejo de errores asíncronos y síncronos en Express

32

Capa de validación de datos usando un middleware

33

¿Qué es Joi y Boom?

34

Implementando Boom

35

Implementando Joi

36

Probar la validación de nuestros endpoints

37

Middlewares populares en Express.js

Implementa tests en Node.js

38

Creación de tests para nuestros endpoints

39

Creación de tests para nuestros servicios

40

Creación de tests para nuestras utilidades

41

Agregando un comando para coverage

42

Debugging e inspect

Despliega tu primera aplicación en Express.js

43

Considerando las mejores prácticas para el despliegue

44

Variables de entorno, CORS y HTTPS

45

¿Cómo implementar una capa de manejo de caché?

46

¿Cómo contener tu aplicación en Docker?

47

Despliegue en Now

Conclusiones

48

¿Qué aprendiste en este curso?

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Implementación de las acciones de MongoDB

28/48
Recursos

Los métodos de MongoDB para implementar un CRUD son:

  • Create
    • insertOne
  • Read
    • find
    • findOne
  • Update
    • updateOne
  • Delete
    • deleteOne

Aportes 25

Preguntas 9

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

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

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 ❤️