Database

db={"User":[{_id:ObjectId("5a934e000102030405000001")},{_id:ObjectId("5a934e000102030405000002")},{_id:ObjectId("5a934e000102030405000003")},{_id:ObjectId("5a934e000102030405000004")},],"Message":[{"from":ObjectId("5a934e000102030405000004"),"to":ObjectId("5a934e000102030405000001"),"acknowledged":false,date:"2020-04-17T18:26:29.353+00:00"},{"from":ObjectId("5a934e000102030405000001"),"to":ObjectId("5a934e000102030405000002"),"acknowledged":true,date:"2020-04-17T18:26:30.353+00:00"},{"from":ObjectId("5a934e000102030405000001"),"to":ObjectId("5a934e000102030405000003"),"acknowledged":false,date:"2020-04-17T18:26:31.353+00:00"},{"from":ObjectId("5a934e000102030405000002"),"to":ObjectId("5a934e000102030405000001"),"acknowledged":true,date:"2020-04-17T18:26:32.353+00:00"},{"from":ObjectId("5a934e000102030405000001"),"to":ObjectId("5a934e000102030405000002"),"acknowledged":true,date:"2020-04-17T18:26:33.353+00:00"},{"from":ObjectId("5a934e000102030405000002"),"to":ObjectId("5a934e000102030405000001"),"acknowledged":false,date:"2020-04-17T18:26:34.353+00:00"}],}

Query

db.Message.aggregate([{$match:{$or:[{from:{$in:["5a934e000102030405000001"]},},{to:{$in:["5a934e000102030405000001"]},},{acknowledged:false},],},},{$sort:{date:-1,},},{$project:{_id:1,from:1,to:1,text:1,acknowledged:1,date:1,},},{$group:{_id:{userConcerned:{$cond:{if:{$in:["$to",["5a934e000102030405000001"]],},then:"$responseTo",else:"$from",},},interlocutor:{$cond:{if:{$in:["$to",["5a934e000102030405000001"]],},then:"$from",else:"$to",},},},id:{$first:"$_id",},from:{$first:"$from",},$acknowledged:{$first:"$acknowledged",},to:{$first:"$to",},date:{$first:"$date",},},},{$lookup:{from:"users",localField:"to",foreignField:"_id",as:"to",},},{$unwind:{path:"$to",},},{$lookup:{from:"users",localField:"from",foreignField:"_id",as:"from",},},{$unwind:{path:"$from",},},])

Result