Database

[{"_id":1,"depots":[{"_id":1,"isFavourite":true},{"_id":2,"isFavourite":false},{"_id":3,"isFavourite":true},{"_id":4,"isFavourite":false}]},{"_id":2}]

Query

db.collection.update({_id:1},[{$set:{"depots.isFavourite":false}},{$set:{depots:{$reduce:{input:"$depots",initialValue:[],in:{$concatArrays:["$$value",[{$cond:[{$eq:[{$size:"$$value"},1]},{$mergeObjects:["$$this",{isFavourite:true}]},"$$this"]}]]}}}}}])

Result