У меня есть БД, которая содержит документы, т.е.:
{ id: "first_document", document: [
{page: 1, content: "text"},
{page: 2, content: "text"},
{page: 3, content: "text"}]},
{ id: "second_document", document: [
{page: 1, content: "text"},
{page: 2, content: "text"}]}
и так далее, с несколькими документами разного размера.
Мне нужно найти среднее и общее количество страниц во всех документах.
Я сделал несколько попыток с разными конвейерами, но не могу найти решение. Пример базового теста, который я сделал:
[{ "$unwind": "$document" },
{ "$group":{"_id": None,"average_pages": {"$avg" : "$document.page"}}}]
но это, конечно, делает среднее (и сумму) по всем записям.
Как сделать среднее и суммировать только максимальное количество страниц? (в приведенном примере среднее и сумма только между 3 и 2).
Ожидаемый результат для этого примера:
среднее = 2,5
сумма = 5