Я пытаюсь агрегировать данные на моем mongodb и получить некоторую статистику относительно коллекции, у меня есть поле с именем country, и мне нужно получить тот, который существует больше всего, ниже прилагается текущий код,
считайте, что в моей коллекции 3 документа:
{_id:1, country:"Italy"}
{_id:1, country:"Zimbabwe"}
{_id:1, country:"Italy"}
Ожидаемый результат должен быть: Италия Но на самом деле я получаю Зимбабве, потому что он сравнивает Z> I
visitSchema.statics.calcTotalVisits = async function (link) {
const stats = await this.aggregate([
{
$match: { link },
},
{
$group: {
_id: '$link',
sumDocs: { $sum: 1 },
topReferer: { $max: '$referer' },
topCountry: { $max: '$country' },
},
},
]);
console.log(stats);
};