How to update many records with deferent values in mongoose?

I have order and orders has array of items so I want to update order and it's item. Also it could be possible that on or many of order items are deleted or updated by the client and I don't have track of changes or deleted items from client side. The object which comes from client side looks like this

  "id": "5dca5e935d5f0e3ba6486ee0",
  "input": {
    "supplier": "5ccb25033760713f4d9dbd1c",
    "deliverTo": "5c87d26cdee9297ceafbff53",
    "deliveryDue": "2019-03-12",
    "invoiceNumber": "22A51",
    "items": [{
      "_id": "5dca5e935d5f0e3ba6486ee1",
      "productId": "5d58d81e9d1f200356d013af",
      "quantity": "44",
      "price": "45"
      "_id": "5dca5e935d5f0e3ba6486ee2",
      "productId": "5d58d81e9d1f200356d013af",
      "quantity": "13",
      "price": "13"


I have tow way to implement First way to loop on every item find and update then compare coming items id's from client side with existing id's of items in database if one was not available in database side delete that item.

Second way by using deleteMany delete all items of order and by using insertMany to replace old items

which way is better from best-practice and performance perspectives ?

Or any other better solution.