Database

[{"data":[{"value":100,"fl":1},{"value":300,"fl":0},{"value":14,"fl":0},{"value":3,"fl":0},{"value":30,"fl":1},{"value":60,"fl":1}]}]

Query

db.collection.aggregate([{"$set":{"data":{"$map":{"input":"$data","in":{"$cond":[{"$and":[{"$lte":["$$m.value",100]},{"$eq":["$$m.fl",1]}]},{"$mergeObjects":["$$m",{"fl2":1}]},{"$mergeObjects":["$$m",{"fl2":0}]}]},"as":"m"}}}}])

Result