Для подсчёта общего количества нанятых сотрудников в год используется aggregation pipeline MongoDB со стадией $group в сочетании с оператором извлечения даты.
db.employees.aggregate([
{
$group: {
_id: { $year: "$hire_date" },
totalHired: { $sum: 1 }
}
}
])
$group — группирует все документы по общему ключу, аналогично GROUP BY в SQL$year — извлекает компонент года из поля hire_date, используется как ключ группировки через _id$sum: 1 — увеличивает счётчик на 1 для каждого документа в группе, формируя итоговое значение totalHiredКаждый результирующий документ содержит:
_id — год, в который были наняты сотрудникиtotalHired — общее количество сотрудников, нанятых в этот годЧтобы получить более удобный набор результатов, добавь в pipeline следующие стадии:
db.employees.aggregate([
{
$group: {
_id: { $year: "$hire_date" },
totalHired: { $sum: 1 }
}
},
{ $sort: { _id: 1 } },
{ $project: { year: "$_id", totalHired: 1, _id: 0 } }
])
$sort — упорядочивает результаты в хронологическом порядке по году$project — переименовывает _id в year для более чистого и читаемого выводаОператор $year в aggregation pipeline MongoDB извлекает только компонент года из поля с датой и может использоваться прямо как ключ группировки в поле _id.
Новый — ещё не проверен сообществом
Вы