Database

db={"B":[{_id:"b1",date:"2020-06-01",coll_C:"c1",coll_D:"d2"},{_id:"b2",date:"2020-07-01",coll_C:"c2"},{_id:"b3",date:"2020-05-01",coll_C:"c3",coll_D:"d3",coll_E:"e1"},{_id:"b4",date:"2020-08-01",coll_D:"d1",coll_E:"e2"}]}

Query

db.B.aggregate([{$sort:{date:-1}},{$project:{x:{$cond:[{$ifNull:["$coll_C",false]},"$coll_C",{$match:{$and:[{date:{$lte:"$date"}},{coll_C:{$ne:null}}]}}]}}}])

Result