Database
db={"order_test":[{"statuses":[{"name":"In Progress","created_on":ISODate("2019-11-25T18:44:50.302Z")},{"name":"Pending","created_on":ISODate("2019-11-25T18:44:55.104Z")},{"name":"Sent","created_on":ISODate("2019-11-25T18:45:19.871Z")},{"name":"Initial Viewed","created_on":ISODate("2019-11-25T20:08:42.299Z")},{"name":"Viewed","created_on":ISODate("2019-11-25T20:10:04.016Z")},{"name":"Pending","created_on":ISODate("2019-11-25T20:49:56.008Z")},{"name":"Sent","created_on":ISODate("2019-11-26T02:30:17.701Z")},{"name":"Initial Viewed","created_on":ISODate("2019-11-26T02:30:17.701Z")},{"name":"Viewed","created_on":ISODate("2019-11-26T02:30:17.701Z")},{"name":"Opened","created_on":ISODate("2019-11-26T02:30:17.701Z")},{"name":"Completed","created_on":ISODate("2019-11-26T02:33:56.484Z")}]}]}
Query
db.order_test.aggregate([{$addFields:{statuses:{$reduce:{input:"$statuses",initialValue:[],in:{$concatArrays:["$$value",{$cond:[{$eq:[{$size:{$filter:{input:"$$value",as:"uniq",cond:{$eq:["$$uniq.name","$$this.name"]}}}},0]},["$$this"],[]]}]}}}}}])