Database
[{"_id":1,"latest":{"name":"tango","version":3},"prev":[{"name":"alpha","version":1},{"name":"charlie","version":2}]}]
Query
db.collection.aggregate([{$match:{$and:[{_id:1},{$or:[{"latest.version":1},{"prev.version":1}]}]}},{$replaceRoot:{newRoot:{$cond:[{$eq:["$latest.version",1]},"$latest",{$arrayElemAt:[{$filter:{input:"$prev",cond:{$eq:["$$this.version",1]}}},0]}]}}}])