MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

създаване и актуализиране на множество MongoDB документи в едно обаждане

По принцип имате нужда от bulkWrite операция с 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
      }
    })
  )
})

Ще ви даде резултата

[
  {  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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongoose:CastError:Прехвърлянето към ObjectId не бе успешно за стойност [object Object] на път _id

  2. MongoDB $asinh

  3. Конфигуриране на сигнали за метрики на MongoDB

  4. MongoDB $push

  5. MongoDB $push срещу $addToSet:Каква е разликата?