Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

286
Vistas
Devolviendo datos de la función Model.find() en mongoose

En primer lugar, me gustaría dejar en claro que soy nuevo en node.js y esto puede sonar como una pregunta tonta, pero ¿cómo se supone que debo devolver datos de la función model.find() en mongoose (por ejemplo, con un var.exportaciones = var )?<

 const data = () => { MyModel.find().then(function(result){ console.log(result); return(result); }); } exports.data = data

Al ser la consulta asíncrona, no puedo recuperar estos datos hasta que se complete la función (así que nunca). ¿Hay alguna forma de devolver esta información en una variable, por ejemplo:

 const retriever = require('../utils/test.js') //calling the exports file test = retriever.data console.log(test)

Muchas gracias por adelantado

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Con promesas puedes lograrlo de la siguiente manera

 const data = () => { return MyModel.find({}); } // using it in another function const result = await data();
over 4 years ago · Santiago Trujillo Denunciar

0

1. Puede usar una devolución de llamada, como se muestra a continuación

 const data = (callback) => { MyModel.find().then(function(result){ console.log(result); //return(result); callback(results);//we pass in a function which will be used to pull out //data }); } exports.data = data

// EL ÁREA DONDE SE UTILIZA ESTE CÓDIGO

 const {data} = require('./to/data') //show data data(function (result) { console.log( result );// data from callback })

2. usar promesas asíncronas/en espera

 const data = async () => { let results = await MyModel.find(); } exports.data = data

SOBRE EL USO DE ESTA FUNCIÓN

 const {data} = require('./to/data') (async function () { let res = await data(); console.log(res); })()
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda