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
Obtener resultados de una consulta MongoDB para usar en un menú de selección

Estoy trabajando en un sitio web que te permite buscar personas en una base de datos según su ubicación. Inicialmente, el menú desplegable (seleccionar) se completa con las provincias en las que se encuentran las personas disponibles. Estoy tratando de usar una consulta mongo para completar ese menú de selección. Pero cuando trato de obtener los valores fuera de la función, no funciona y el menú de selección aparece vacío.

 import * as React from "react"; import axios from "axios"; const Locations = () => { let options = null; function axiosTest() { // This is a server link i created that runs a query that returns distinct provinces from the database const promise = axios.get("/api/v2/people/provinces"); const dataPromise = promise.then(result => result.data).then(data => {console.log(data);return data;}); // The console.log() above displays all the objects that are in the query given by the server link in an array // eg ['British Columbia', 'Alberta', 'Saskatchewan', etc.] } var type = axiosTest(); console.log(type); // now it displays it as "undefined" if (type) { options = type.map((el) => <option key={el}>{el}</option>); } return ( <div style={{ padding: "16px", margin: "16px", }} > <form> <div> <select> { /** This is where we have used our options variable */ options // and the select menu is shown as blank, because it doesn't have any options to fill it with } </select> </div> </form> </div> ); }; export default Locations;

¿Puede alguien por favor ayudarme a hacer que esto funcione? ¿Tiene algo que ver con subprocesos y concurrencia? Desafortunadamente estoy oxidado en eso.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

La función axiosTest() no devuelve nada. Debe especificar cambiar su código para que la función devuelva el resultado de la consulta DB. También puede cambiar la sintaxis de .then() con async/await para que su código sea más legible.

 const Locations = async () => { let options = null; function axiosTest() { return axios.get("/api/v2/people/provinces"); } var type = await axiosTest(); console.log(type); ... };
about 4 years ago · Juan Pablo Isaza 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