/ / Node.js & Mongoose: Async Function Logic - node.js, mongodb, asynchronous, mongoose

Node.js & Mongoose: Async Function Logic - node.js, mongodb, asynchronous, mongoose

Estoy escribiendo una API para un proyecto y recientemente hemos cambiado nuestra pila de tecnología a Node.js y MongoDB. Sin embargo no pude resolver algunos de los aspectos relacionados con Node y Mongo.

Comencé a codificar Node revisando el infame tutorial de Node Beginner, donde se menciona que sigue la sin bloqueo lógica. Esto es si entendí correctamente, no esperar a que una función termine, pero seguir adelante y luego "mágicamente" obtener los resultados de esa función en la que ha avanzado.

Pero hay una cosa que me confundió que siel no bloqueo es la esencia de Node, debo seguirlo cuando estoy consultando una base de datos, porque tengo que asegurar y devolver el resultado de la conexión, ya sea con éxito o con error. El código que se explica mejor para el tl; dr "s; (por cierto estoy usando Mangosta como mongoDB ODM.

db.on("error", function(err){
if(err)
console.log("There is an error");
response.write("Terrible Error!");
response.end();
});

He escrito qué hacer cuando la conexión db se realiza correctamente después El código de error "db.on ()", sin embargo, después de un segundo pensamiento, creo que es mejor escribir en "function (err)" ya que se produce un error, cancelará directamente la operación y finalizará la respuesta. ¿Pero está en contra de la lógica de no bloqueo de Node.js?

Respuestas

0 para la respuesta № 1

¿Es la esencia de su pregunta dónde colocar el código para las devoluciones de llamada? El patrón recomendado es usar el tipo de patrón descrito en el documentos. Esto envuelve cualquier lógica de documento dentro de las devoluciones de llamada para evitar operaciones de bloqueo.