Войти Регистрация
Data base

121. Кто больше всех написал про AI в 2026 году

Лёгкая

Статьи авторов соцсети хранятся в MongoDB: каждая статья — документ в articles с массивом тегов tags, статусом status и временем публикации published_at (строка ISO 8601 в UTC).

Редакция раздела Tech готовит итоги года. Посчитайте, сколько статей с тегом AI опубликовал каждый автор в 2026 году. Черновики (status: "draft") не считаются, даже если у них стоит плановая дата.

Верните author и articles, по убыванию articles, при равенстве — по author по алфавиту.

В работе: Отчёты редакции, рейтинги авторов, счётчики по тегам в контентных сервисах.

MongoDB · MongoDB 8.0.20

Коллекции

articles — одна статья — один документ

ПолеТипЧто значит
slugstringадрес статьи
authorstringавтор
tagsarray<string>теги
statusstringpublished / draft
published_atstringISO 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
 }
]
Как проверяем Запрос — JSON: имя коллекции и стадии aggregate, как в db.коллекция.aggregate([...]). Выполняем его в браузере движком агрегаций на 5 наборах документов: пример выше и скрытые — с пропущенными полями, null и пустыми коллекциями. Порядок документов важен, порядок полей внутри документа — нет. $out и $merge запрещены.
{"collection": "articles", "pipeline": [ … ]}
$match$groupсортировка по нескольким полямдаты строками

Источник: на данных соцсети: статьи авторов. Условие пересказано своими словами.

Давали на собеседовании? Ответов пока мало — ваш поможет.