sql >> Databasteknik >  >> NoSQL >> MongoDB

Infogar data till kapslad array i mongodb

Du kan inte använda flera $ positionella, för ditt fall kan du använda enstaka positionella och arrayFilters,

Den filtrerade positionsoperatorn $[<identifier>] identifierar arrayelementen som matchar arrayFilters-villkoren för en uppdateringsoperation,

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" }
  ]
})

Lekplats



  1. Hur skapar man en egen databas i Redis?

  2. MongoDB:är det säkert att använda dokumentets ID offentligt?

  3. MongoDB $mul

  4. Apache HBase I/O – HFile