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

354
Vistas
¿Cómo acceder a una propiedad de objeto Javascript cuyo tipo no está definido?

Dado que tengo un objeto JS que obtiene su valor de una base de datos mongodb a través de mongoose usando esta función

 const followed = await User.find( { _id: followie }, { _id:0,"present": { $in: [followerid, "$followers"], } } );

Cuando consola.log (seguido), obtengo el siguiente resultado

 console.log(followed[0]); /*output : [nodemon] restarting due to changes... [nodemon] starting `node index.js` listening on port 8800 at time: 1655365344312 Mongodb Connected { present: true } ----------> console.log output */

pero cuando trato de acceder al objeto "presente" dentro del diccionario seguido, obtengo el tipo indefinido que es:

 console.log(followed[0][0]); /*output : [nodemon] restarting due to changes... [nodemon] starting `node index.js` listening on port 8800 at time: 1655365532137 Mongodb Connected undefined --------> this is the console.log() */

Al usar typeof(followed[0]) obtengo el tipo como un objeto pero cuando trato de obtener el typeof[0][0] me da el tipo como indefinido. ¿Dónde me estoy equivocando? También probé seguido[0].presente y seguido[0][presente] con los mismos resultados

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

0

¿estás usando mongodb o mongoose ? ¿intentaste followed[0]["present"]

about 4 years ago · Juan Pablo Isaza Denunciar

0

El problema con mi enfoque y el manejo directo de la clave .present en el diccionario fue que los datos de la mangosta que se enviaban no estaban en formato JSON. La función find() devolvió una instancia de la clase Mongoose Document. Los datos se devolvían en la clave ._doc en la matriz dentro del objeto seguido.

La solución a esto fue usar .lean() con el objeto de búsqueda.

 const followed = await User.find( { _id: followie }, { _id: 0, present: { $in: [followerid, "$followers"], }, } ).lean();

Esto da como resultado que se devuelva un objeto json al que puedo acceder con object.key normal o, en este caso, con el código seguido[0].present o seguido[0][0].

Se pueden encontrar más detalles aquí: https://mongoosejs.com/docs/populate.html

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