Database

[{"stateHistory":[{"taskState":"DONE"},{"taskState":"START"},{"taskState":"FINISH"}],}]

Query

db.collection.aggregate([{"$project":{"stateHistory":1,"lastElt":{"$arrayElemAt":["$stateHistory",-1]}}},{"$project":{"stateHistory":{"$cond":{"if":{"$in":["$lastElt.taskState",["FINISH"]]},"then":"$stateHistory","else":[]}}}},{"$unwind":"$stateHistory"},{"$replaceRoot":{"newRoot":"$stateHistory"}}])

Result