Променете тръбопровода на qroup точно както
Трябва да групирате по подател, а не по уникален _id
{
$group: {
_id: "$sender",
sender: {
$first: "$sender"
},
messageId: {
$first: "$_id"
},
text: {
$first: "$text"
},
date: {
$first: "$date"
},
unread: {
$first: "$unread"
}
}
}
И промяна в $project
$project: {
sender: 1,
_id: "$messageId",
text: 1,
date: 1,
unread: 1
}