Database

[{"foo":"v1","overrides":[{"property":"foo","value":"v2"},{"property":"bar","value":"v3"}]},{"foo":"v4","overrides":[{"property":"foobar","value":"v5"},{"property":"bar","value":"v6"}]},{"foo":"v7","overrides":[{"value":"v5"}]},{"foo":"v8","overrides":[]},{"foo":"v9"}]

Query

db.collection.aggregate([{"$set":{"kv":{"$arrayElemAt":[{"$filter":{"input":{"$objectToArray":"$$ROOT"},"cond":{"$eq":[{"$type":"$$this.v"},"string"]}}},0]}}},{"$set":{"index":{"$indexOfArray":["$overrides.property","$kv.k"]}}},{"$project":{"_id":0,"overrideOrOriginal":{"$cond":[{"$or":[{"$eq":["$index",-1]},{"$not":["$overrides"]}]},"$kv.v",{"$arrayElemAt":["$overrides.value","$index"]}]}}}])

Result