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

100
Views
¿Mongo DB Push a una matriz de objetos?

Trabajando en un proyecto que usa MongoDB como base de datos. Estoy atascado tratando de obtener una serie de objetos que tengo que actualizar. Aquí está el esquema:

 roundData : { playsArray : [ { player1 : { card1 : 1, card2 : 2 }, player2 : { card1 : 0, card2 : 0 } }, ],

Entonces, básicamente, quiero una sola matriz que contenga un objeto dentro de ese objeto que son dos objetos.

Reproduce Array [objeto1, objeto2] donde el objeto 1 sería {jugador 1: {carta1: 0, carta2: 0}}, {jugador 2: {carta1: 0, carta2: 0}}.

Cada vez que trato de escribir una función updateOne, en el mejor de los casos solo actualiza el jugador 1 o separa el jugador 1 y el jugador 2 como dos elementos en la matriz. ¿Alguna sugerencia de lo que estoy haciendo mal en el formateo?

Aquí está mi código actual:

 const gameData = await GameData.updateOne({ gameId: gameIdInput }, { $push: { "matchData.roundData.playsArray": { $each : [ {"player1" : {"card1" : 0, "card2" :0} }, {"player2" : {"card1" : 0, "card2" :0} } ] } } } );

Esto funciona, pero empuja al jugador 1 y al jugador 2 a la matriz por separado para que la matriz se convierta en [objetos del jugador 1/2, objetos del jugador 1, objetos del jugador 2].

about 4 years ago · Santiago Gelvez
1 answers
Answer question

0

¡No importa! Me faltaba [ ] alrededor del objeto en una versión anterior sin $each. Dejando aquí para la solución si alguien lo encuentra útil.

 const gameData = await GameData.updateOne({ gameId: gameIdInput }, { $push: { "matchData.roundData.playsArray": [ {"player1" : {"card1" : 0, "card2" :0} }, {"player2" : {"card1" : 0, "card2" :0} } ] } } );
about 4 years ago · Santiago Gelvez 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!