sql >> Databasteknik >  >> NoSQL >> MongoDB

skapa och uppdatera flera MongoDB-dokument i ett samtal

I grund och botten behöver du 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
      }
    })
  )
})

Kommer att ge dig utdata

[
  {  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. 5 sätt att välja rader med det maximala värdet för sin grupp i SQL

  2. Hur ställer jag in useMongoClient (Mongoose 4.11.0)?

  3. Ansluter du till mongodb via webbläsaren?

  4. Hur lagrar man sorterad uppsättning objekt i redis?