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

121
Vistas
Los datos no regresan de la función asíncrona con la conexión a la base de datos

El objetivo es llamar a una función desde mi secuencia de comandos principal que se conecta a una base de datos, lee un documento de ella, almacena partes de ese documento en un nuevo objeto y devuelve ese objeto a mi secuencia de comandos principal. El problema es que no puedo hacer que todo funcione junto. Si intento una cosa, obtengo los resultados pero mi programa se bloquea. Si pruebo otra cosa, obtengo resultados indefinidos.

Para resumir, ¿cómo abro una base de datos y recupero algo de ella a otro script? El programa es un sitio de cuestionarios y quiero devolver el nombre del cuestionario y las preguntas.

 const myDb = require('./app.js'); var myData = myDb.fun((myData) => { console.log(myData.quizName); });

Aquí está el script que intenta abrir la base de datos y encontrar los datos.

 const { MongoClient } = require("mongodb"); const {mongoClient} = require("mongodb"); const uri = connection uri goes here but my name is hard coded into it at the moment so I removed for privacy const client = new MongoClient(uri); const fun = async (cback) => { try { await client.connect(); const database = client.db('Quiz-Capstone'); const quizzes = database.collection('Quiz'); const query = {quizName: "CIS01"}; const options = { sort: {}, projection: {} }; const quiz = await quizzes.findOne(query, options); var quizObject = { quizName: quiz.quizName, quizQuestions: quiz.quizQuestions } //console.log(testOb); } finally { await client.close(); cback(quizObject); } } fun().catch(console.dir); module.exports = { fun: fun }

ACTUALIZACIÓN: Todavía atascado. He leído varios hilos diferentes aquí sobre llamadas asincrónicas y devoluciones de llamada, pero no puedo ubicar mi función en un archivo para devolver un valor a la persona que llama ubicada en otro archivo.

about 4 years ago · Juan Pablo Isaza
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