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]}}}}}])