Статьи авторов соцсети хранятся в MongoDB: каждая статья — документ в articles с массивом тегов tags, статусом status и временем публикации published_at (строка ISO 8601 в UTC).
Редакция раздела Tech готовит итоги года. Посчитайте, сколько статей с тегом AI опубликовал каждый автор в 2026 году. Черновики (status: "draft") не считаются, даже если у них стоит плановая дата.
Верните author и articles, по убыванию articles, при равенстве — по author по алфавиту.
В работе: Отчёты редакции, рейтинги авторов, счётчики по тегам в контентных сервисах.
MongoDB · MongoDB 8.0.20
Коллекции
articles — одна статья — один документ
| Поле | Тип | Что значит |
|---|---|---|
slug | string | адрес статьи |
author | string | автор |
tags | array<string> | теги |
status | string | published / draft |
published_at | string | ISO 8601, UTC |
Пример: документы
articles
[
{
"slug": "ai-chips-2026",
"tags": [
"AI",
"Chips"
],
"author": "Sarah Chen",
"status": "published",
"published_at": "2026-02-10T14:00:00Z"
},
{
"slug": "ai-banks",
"tags": [
"AI",
"Finance"
],
"author": "Mike Olson",
"status": "published",
"published_at": "2026-03-01T09:30:00Z"
},
{
"slug": "ai-agents",
"tags": [
"AI"
],
"author": "Sarah Chen",
"status": "published",
"published_at": "2026-05-20T08:00:00Z"
},
{
"slug": "oil-q1",
"tags": [
"Energy"
],
"author": "Mike Olson",
"status": "published",
"published_at": "2026-04-02T12:00:00Z"
},
{
"slug": "ai-2025-recap",
"tags": [
"AI"
],
"author": "Priya Natarajan",
"status": "published",
"published_at": "2025-12-30T10:00:00Z"
}
]
Ожидаемый ответ
[
{
"author": "Sarah Chen",
"articles": 2
},
{
"author": "Mike Olson",
"articles": 1
}
]
db.коллекция.aggregate([...]). Выполняем его в браузере движком агрегаций на 5 наборах документов: пример выше и скрытые — с пропущенными полями, null и пустыми коллекциями. Порядок документов важен, порядок полей внутри документа — нет. $out и $merge запрещены.
{"collection": "articles", "pipeline": [ … ]}
Источник: на данных соцсети: статьи авторов. Условие пересказано своими словами.
Посмотреть данные, проверить часть pipeline. На зачёт не влияет.
Здесь появится результат отправки.