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.$[y].isFavourite":false,"depots.$[x].isFavourite":true}},{arrayFilters:[{"x._id":2},{"y._id":{$ne:2}}],"multi":true})