Database

[{"date1":ISODate("2019-05-20T19:04:35.000Z")},{"date1":ISODate("2019-05-20T19:04:35.000Z"),"date2":ISODate("2019-05-20T19:04:35.000Z")},{"date3":ISODate("2019-05-20T19:04:35.000Z"),"date1":null}]

Query

db.collection.aggregate([{$project:{date1:{$cond:{if:{$or:[{$eq:[{$type:"$date1"},"missing"]},{$eq:["$date1",null]}]},then:"$$REMOVE",else:{$dateFromString:{dateString:{$dateToString:{format:"%Y-%m-%d",date:"$date1"}}}}}},date2:{$cond:{if:{$eq:[{$type:"$date2"},"missing"]},then:"$$REMOVE",else:{$dateFromString:{dateString:{$dateToString:{format:"%Y-%m-%d",date:"$date2"}}}}}},date3:{$cond:{if:{$eq:[{$type:"$date3"},"missing"]},then:"$$REMOVE",else:{$dateFromString:{dateString:{$dateToString:{format:"%Y-%m-%d",date:"$date3"}}}}}}}}])

Result