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

141
Vistas
¿Por qué la función agent.add() muestra una cadena vacía?
db.findMarami(Scholarship, {}, {scholarship_type:1, _id:0}).then(resultArray => { let list = resultArray.map(scholarship => scholarship.scholarship_type); final_list.push(list); string = final_list.toString(); //console.log(list.toString()); console.log(string); agent.add(string); }).catch((error) => { console.log(error) });

Este es un código que tengo para encontrar datos dentro de un esquema mongodb y me gustaría usar el valor de resultArray para agregarlo al chatbot de flujo de diálogo. Dentro de la promesa, la cadena de la variable global cambia de valor, pero después de la consulta, parece estar vacía. Cuando uso la función agent.add() (para mostrar texto en el chatbot), no actualiza la cadena en absoluto, incluso si console.log() muestra el valor en cmd. (DIALOGFLOW MONGODB NODEJS)

 function scholarshipTypes(agent){ //static data handling should be shown here agent.add("There are numerous types of scholarships within DLSU. Listed below are the types of scholarships."); //mongodb operations to obtain static data from db db.findMarami(Scholarship, {}, {scholarship_type:1, _id:0}).then(resultArray => { let list = resultArray.map(scholarship => scholarship.scholarship_type); final_list.push(list); string = final_list.toString(); //console.log(list.toString()); console.log(string); agent.add(string); }).catch((error) => { console.log(error) }); agent.add("More scholarship details:"); agent.add(new Suggestion("Deadlines")); agent.add(new Suggestion("Requirements")); agent.add(new Suggestion("Application Forms")); }

Arriba está la función completa utilizada por Dialogflow

 findMarami: function (model, query, projection, callback) { return model.find(query, projection); },

Aquí está el código para buscar en la base de datos.

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