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

Einfügen von Daten in ein verschachteltes Array in Mongodb

Sie können nicht mehrere $-Positionen verwenden, für Ihren Fall können Sie einzelne Positions- und ArrayFilter verwenden,

Der gefilterte Positionsoperator $[<identifier>] identifiziert die Array-Elemente, die den arrayFilters-Bedingungen für einen Aktualisierungsvorgang entsprechen,

db.collection(TABLE).updateOne({
  list_id: 23,
  "cards.categories.category": "section01"
},
{
  $push: {
    "cards.$.categories.$[elem].tags": {
      name: "tag02",
      id: uuidv4(),
      is_selected: true
    }
  }
},
{
  arrayFilters: [
    { "elem.category": "section01" }
  ]
})

Spielplatz