sql >> Base de Datos >  >> NoSQL >> MongoDB

Actualizar matriz con múltiples condiciones en mongodb

Cuando hay múltiples condiciones para hacer coincidir dentro de una matriz, entonces .Dot la notación no funciona con la consulta de actualización.

Necesitas usar $elemMatch para hacer coincidir exactamente dos campos dentro de una matriz

db.getCollection('test').updateOne(
  {
    "_id": ObjectId("5b673f525ef92ec6ef16504e"),
    "events": { "$elemMatch": { "name": "Winner", "map": 2 }}
  },
  {
    "$push": { "events.$.something": { "something": "test" }}
  }
)