Я пытаюсь написать запрос агрегирования в pymongo, но я просто не могу сделать это сам, я пытался с документацией, пытался с помощью google, пытался с помощью Stack Overflow, и я просто не могу найти ответ. Пример из моих данных:Запрос на структуру Pymongo и Aggregation
{"_id": id, "site": "site A", "weekday": 1, "value": 1}
{"_id": id, "site": "site B", "weekday": 2, "value": 0}
{"_id": id, "site": "site C", "weekday": 3, "value": 1}
{"_id": id, "site": "site A", "weekday": 2, "value": 0}
{"_id": id, "site": "site B", "weekday": 3, "value": -1}
{"_id": id, "site": "site C", "weekday": 2, "value": 1}
{"_id": id, "site": "site A", "weekday": 1, "value": -1}
{"_id": id, "site": "site B", "weekday": 3, "value": 1}
И что мне нужно:
Для одного сайта, скажем, «сайт А», мне нужен список словарей для каждого дня недели (так 7 всего) с подсчетом " значения "больше 0, равные 0 и меньше 0. Все отсортированы по будним дням.
Так что мой вывод должен выглядеть следующим образом:
{"weekday": 1, "greaterCount": x, "lesserCount": y, "zeroCount": z}
{"weekday": 2, "greaterCount": x, "lesserCount": y, "zeroCount": z}
{"weekday": 3, "greaterCount": x, "lesserCount": y, "zeroCount": z}
{"weekday": 4, "greaterCount": x, "lesserCount": y, "zeroCount": z}
{"weekday": 5, "greaterCount": x, "lesserCount": y, "zeroCount": z}
{"weekday": 6, "greaterCount": x, "lesserCount": y, "zeroCount": z}
{"weekday": 7, "greaterCount": x, "lesserCount": y, "zeroCount": z}
конечно же значений greaterCount, lesserCount и zeroCount будет отличаться для разных будням, есть х, у и г в каждом словаре в моем выходе образца из-за Мне лень.
Это то, что я пропустил, $ cond делает его довольно простым. Хотя количество скобок в запросах агрегирования по-прежнему подавляющее. Спасибо за помощь! – lenartowski