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

313
Views
Actualizar y crear matriz de objetos en MongoDB

Tengo un documento en MongoDB estructurado como el siguiente que estoy tratando de actualizar y el valor de los datos a través del cuadro de entrada del front-end.

 { number: 1, question: "How often do you have a drink containing alcohol?", answer: [ { score: 0, text: "Never (Skip to Questions 9-10)" }, { score: 1, text: "Monthly or less" }, { score: 2, text: "2 to 4 times a month" }, { score: 3, text: "2 to 3 times a week" }, { score: 4, text: "4 or more times a week" }, ], },

Mi código actual en el punto final de Express no me permite actualizar los datos y el error aparecerá cuando haga clic en el botón de actualización.

 router.post("/questions/:id", async (req, res) => { try { const _id = req.params.id || req.query.id; const { number, question, answer } = req.body; await Question.findOneAndUpdate({ _id }, { number, question, answer }); } catch (error) { res.render("error"); } });

Mientras trato de imprimir el req.body para ver qué datos he enviado, aparentemente, es probablemente la razón por la que recibí errores:

 { number: '1', question: 'How often do you have a drink containing alcohol?', answer: [ { text: [Array], score: [Array] } ] }

Estoy usando EJS para su interfaz, el ciclo de edición es como el siguiente, no estoy seguro si tengo el atributo de nombre correcto en la etiqueta de entrada.

 <% for (let i = 0; i < question.answer.length; i++) { %> <label for="answer">Answer <%= i + 1 %>:</label> <input type="text" id="answer" name="answer[][text]" value="<%= question.answer[i].text %>" required><br><br> <label for="score">Score <%= i + 1 %>:</label> <input type="number" id="score" name="answer[][score]" step="1" min="0" max="10" value="<%=question.answer[i].score %>" required><br><br> <% } %>

A continuación se muestra la captura de pantalla de la estructura de datos de MongoDB GUI:

ingrese la descripción de la imagen aquí

Me enfrento al mismo problema al crear una nueva pregunta con respuestas en el formato Matriz de objetos, y me pregunto si alguien puede ayudarme a actualizar/crear una matriz de objetos en MongoDB correctamente.

¡¡¡Aprecio tu ayuda!!!

Muchísimas gracias.

about 4 years ago · Juan Pablo Isaza
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!