sql >> Databáze >  >> NoSQL >> MongoDB

Mongoose přidat více objektů do pole, pokud neexistuje

Můžete zkusit použít bulkWrite operace v mongodb

Předpokládejme, že máte k aktualizaci následující užitečné zatížení

const payload = [
  { key: "city", label: "CITY" }, { key: "gender", label: "GENDER" },
  { key: "city", label: "CITY1" }, { key: "city2", label: "CITY" }
]

Dotaz na hromadnou aktualizaci dokumentů

Model.bulkWrite(
  payload.map((data) => 
    ({
      updateOne: {
        filter: { '_id': 'xxxx', 'additional.key' : { $ne: data.key } },
        update: { $push: { additional: data } }
      }
    })
  )
})

Což odešle hromadně žádost o aktualizaci, jako je tato

bulkWrite([
  { updateOne: { filter: { '_id': 'xxxx', 'additional.key' : { $ne: data.key } }, update: { $push: { additional: data } } } },
  { updateOne: { filter: { '_id': 'xxxx', 'additional.key' : { $ne: data.key } }, update: { $push: { additional: data } } } }
])



  1. Spojte řetězec a číslo v SQL

  2. MongoDB - Pusťte databázi

  3. MongoDB $ rok

  4. Rozdíl mezi zdobením vlastnosti v C# pomocí BsonRepresentation(BsonType.ObjectId) vs BsonId vs ObjectId