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

oprette og opdatere flere MongoDB-dokumenter i et opkald

Grundlæggende har du brug for bulkWrite operation med upsert

const array = [
    {  someId: 1, someProp: prop1, isOpen: true  },
    {  someId: 2, someProp: prop1, isOpen: true  },
    {  someId: 5, someProp: prop1, isOpen: true  },
    {  someId: 6, someProp: prop1, isOpen: true  }
]


Model.bulkWrite(
  array.map((data) => 
    ({
      updateOne: {
        filter: { someId: data.someId },
        update: { $set: { isOpen: false, someProp: data.someProp } },
        upsert: true
      }
    })
  )
})
 

Vil give dig outputtet

[ { someId: 1, someProp: prop1, isOpen: false }, { someId: 2, someProp: prop1, isOpen: false }, { someId: 3, someProp: prop1, isOpen: true }, { someId: 4, someProp: prop1, isOpen: true }, { someId: 5, someProp: prop1, isOpen: true }, { someId: 6, someProp: prop1, isOpen: true } ]


  1. Mongoid eller MongoMapper?

  2. php mongodb fuldtekstsøgning og sortering

  3. Redis sæt vs hash

  4. MongoDB - Svarende til LEFT JOIN, hvor en samling ikke findes