У меня есть БД, которая содержит документы, т.е.
{ 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