Database
[{_id:1,jobs:[{_id:1,time:"08:00",status:"pending",user:"user1"},{_id:2,time:"09:00",status:"pending",user:"user1"},{_id:3,time:"07:30",status:"done",user:"user2"}]}]
Query
db.collection.update({_id:1},[{$addFields:{newData:[{_id:1,time:"10:00",status:"done"},{_id:2,time:"11:00",status:"done"}]}},{$project:{jobs:{$map:{input:"$jobs",in:{$mergeObjects:["$$this",{$cond:[{$gte:[{$indexOfArray:["$newData._id","$$this._id"]},0]},{$arrayElemAt:["$newData",{$indexOfArray:["$newData._id","$$this._id"]}]},{}]}]}}}}}])