Database

[{"key":1,"name":"name","remaining":1,"capacity":2},{"key":2}]

Query

db.collection.update({$and:[{name:{$eq:"name"}},],},[{"$set":{"remaining":{"$switch":{"branches":[{case:{$lt:["$remaining","$capacity"]},then:{$add:["$remaining",1]}}],default:{$add:["$remaining",0]}}}}}])

Result