Попытка суммировать документы по условию, когда отметка времени равна первой найденной отметке времени
Необходимо суммировать количество документов, которые удовлетворяют условию, что документ соответствует первому найденному значению отметки времени.Ниже я попробовал сослаться на отметку времени, равную {"$ first": "$ timestamp"}
IP.aggregate([
{
"$sort":{'timestamp':-1}
},
{
"$group": {
"_id": "$application",
"url": { "$first": "$app_url_name" },
"timestamp": { "$first": "$timestamp" },
"total": {
$sum: {
$cond: {
if: {
$and:[
{$eq: ['$environment_category', 'PROD']},
{$eq: ['$timestamp', '$_id.timestamp']}
]
},
then: 1,
else: 0
}
}
},
"enabled": { $sum: {$cond: {if: {
$and: [
{$eq: ['$availability', 'available']},
{$eq: ['$state', 'enabled']},
{$eq: ['$environment_category', 'PROD']}
]
} ,
then: 1,
else: 0} }}
}
},