Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

358
Visualizações
¿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 Respostas
Responde à pergunta

0

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

about 4 years ago · Juan Pablo Isaza Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda