Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

363
Views
map () devuelve un error indefinido después de que Mongoose llene
const form = await Form.findOne({ _id: res._id }).populate({ path: "activity.viewedBy", model: User, }); const a = await form.activity.map((a) => a.viewedBy); console.log(a.map((e) => e.email));

"No se puede leer la propiedad 'correo electrónico' de undefined"

¿Por qué? a es una matriz, llena de objetos, como esta:

 [ { id: 123, email: example@email.com }, { id: 456, email: nice@email.com } ]

Editar, compartiendo toda la función asíncrona:

 const viewForm = async (req, res) => { const form = await Form.findOne({ _id: res._id }).populate({ path: "activity.viewedBy", model: User, }); const a = await form.activity.map((a) => a.viewedBy); console.log(a.map((e) => e.email)); await Form.updateOne( { _id: res._id }, { $push: { activity: { viewedBy: res.user, date: new Date(), }, }, } ); return { statusCode: 200, body: JSON.stringify(`Form viewed.`), }; };

Edit2:

Había un undefined en la matriz, entre los objetos, no me di cuenta de eso... Por eso estaba obteniendo el indefinido.

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

a probablemente tenga una estructura diferente de lo que piensas (prueba console.log(a) ), solo demostrando:

 const data = [ { id: 123, email: "example@email.com" }, { id: 456, email: "nice@email.com" } ]; const result = data.map((a) => a.email); console.log(result);

Además, dar nombres significativos a las variables puede ayudar a evitar errores.

about 4 years ago · Juan Pablo Isaza Report

0

await form.activity.map((a) => a.viewedBy);

devolverá una matriz de valores viewedBy por. Entonces, la matriz a no contiene los objetos completos. En su lugar, contiene una matriz de elementos viewedBy por. Además, eche un vistazo a la funcionalidad de la función map() .

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!