MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Aktualisieren Sie das Array mit mehreren Bedingungen in mongodb

Wenn innerhalb eines Arrays mehrere Bedingungen übereinstimmen müssen, wird der .Dot Notation funktioniert nicht mit Update-Abfrage.

Sie müssen $elemMatch verwenden um genau zwei Felder innerhalb eines Arrays abzugleichen

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