Database
db={orders:[{quantity:0.1,price:5,timestamp:1686402815},{quantity:0.13,price:4.9,timestamp:1686401801},{quantity:0.27,price:4.1,timestamp:1686402850},{quantity:0.5,price:5,timestamp:1686403050},]}
Query
db.orders.aggregate([{"$setWindowFields":{"sortBy":{"price":-1,"timestamp":1},"output":{"cumSumQ":{"$sum":"$quantity","window":{"documents":["unbounded","current"]}},"cumSumQm1":{"$sum":"$quantity","window":{"documents":["unbounded",-1]}}}}},{"$match":{"$or":[{"cumSumQ":{"$lte":0.62}},{"$and":[{"cumSumQ":{"$gt":0.62}},{"cumSumQm1":{"$lte":0.62}}]}]}},{"$unset":["_id","cumSumQ","cumSumQm1"]}])