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

101
Vistas
¿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 Respuestas
Responde la pregunta

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 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