Правильное (окончательное решение) в MongoPlayground
Набор данных:
[
{
item: {
id: 168652
},
connected_realm_id: 1602,
last_modified: 1596719280
},
{
item: {
id: 168652
},
connected_realm_id: 1602,
last_modified: 1596719280
},
{
item: {
id: 168652
},
connected_realm_id: 1602,
last_modified: 1596719280
},
{
item: {
id: 168652
},
connected_realm_id: 1602,
last_modified: 1596719280
},
{
item: {
id: 168652
},
connected_realm_id: 1602,
last_modified: 2
},
{
item: {
id: 168652
},
connected_realm_id: 1602,
last_modified: 3
},
{
item: {
id: 168652
},
connected_realm_id: 1602,
last_modified: 4
},
{
item: {
id: 168652
},
connected_realm_id: 1602,
last_modified: 5
},
{
item: {
id: 168652
},
connected_realm_id: 1602,
last_modified: 1596719280
},
{
item: {
id: 168652
},
connected_realm_id: 1602,
last_modified: 1596719280
},
{
item: {
id: 168652
},
connected_realm_id: 1603,
last_modified: 1596719267
},
{
item: {
id: 168652
},
connected_realm_id: 1603,
last_modified: 1596719267
},
{
item: {
id: 168652
},
connected_realm_id: 1603,
last_modified: 1596719267
},
{
item: {
id: 168652
},
connected_realm_id: 1603,
last_modified: 1596719267
},
{
item: {
id: 168652
},
connected_realm_id: 1603,
last_modified: 1
},
{
item: {
id: 168652
},
connected_realm_id: 1603,
last_modified: 2
},
{
item: {
id: 168652
},
connected_realm_id: 1603,
last_modified: 3
},
{
item: {
id: 168652
},
connected_realm_id: 1603,
last_modified: 4
},
{
item: {
id: 168652
},
connected_realm_id: 1603,
last_modified: 5
},
{
item: {
id: 168652
},
connected_realm_id: 1603,
last_modified: 1596719267
}
]
Агрегационный запрос
db.collection.aggregate([
{
$group: {
_id: {
connected_realm_id: "$connected_realm_id"
},
latest: {
$max: "$last_modified"
},
data: {
$push: "$$ROOT"
}
}
},
{
$unwind: "$data"
},
{
$addFields: {
"data.latest": {
$cond: {
if: {
$eq: [
"$data.last_modified",
"$latest"
]
},
then: "$latest",
else: "$false"
}
}
}
},
{
"$replaceRoot": {
"newRoot": "$data"
}
},
{
"$match": {
"latest": {
"$exists": true,
"$ne": null
}
}
}
])