sql >> Database teknologi >  >> NoSQL >> MongoDB

Mongoose tilføjer flere objekter til array, hvis de ikke eksisterer baseret

Du kan prøve at bruge bulkWrite operation i mongodb

Antag, at du har følgende nyttelast til at opdatere

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

Forespørgsel om at opdatere dokumenter i bulk

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

Hvilket vil sende en masseanmodning om at opdatere som denne

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. Fejl under indlæsning af delte biblioteker, kan ikke åbne delt objektfil:Ingen sådan fil eller mappe (hiredis)

  2. Hvordan kontrollerer jeg, om redis kører, før jeg starter kolben (og starter den, hvis den ikke gør det)?

  3. Hvorfor tilføjer mit skema ikke standardværdier i mongoose-arrays?

  4. rangordne leaderboard i mongo med omkringliggende spillere