У меня есть коллекция с полями, такими как "servicereqesttype", "zipcode", "date"
Я хочу найти 3 наиболее распространенных "servicerequesttype" для почтового индекса для определенного дня.
db.event.aggregate([
{
$match: {
creationdate: "2011-01-01"
}
},
{
$project: {
zipcode: "$zipcode",
servicerequesttype: "$servicerequesttype"
}
},
{
$group: {
_id: {
zipcode: "$zipcode",
servicerequesttype: "$servicerequesttype"
},
zipcode: {
$first: "$zipcode"
},
servicerequesttype: {
$first: "$servicerequesttype"
},
count: {$sum: 1}
}
},
{
$sort: {
"zipcode": -1,
"count": -1
}
},
{
$project: {
_id: 0,
zipcode: "$zipcode",
servicerequesttype: "$servicerequesttype",
count: "$count"
}
}
])
Теперь все, что мне нужно, это выбрать только 3 для почтового индекса, и мне нужна помощь, может быть, я должен использовать $ bucket или $ map ...