Запрос агрегации Flask-MongoEngine & PyMongo
Я пытаюсь сделать запрос агрегации с помощью flask-mongoengine, и из того, что я прочитал, не похоже, что это возможно.
Я просмотрел несколько веток форума, цепочек электронной почты и несколько вопросов о переполнении стека, но я не нашел действительно хорошего примера того, как реализовать агрегирование с помощью flask-mongoengine.
Есть комментарий вэтот вопрос это говорит о том, что вы должны использовать «сырые функции пимонго и агрегации». Тем не менее, нет примеров того, как это может работать. Я работал с Python, и у меня есть базовое приложение, использующее инфраструктуру Flask, но углубляться в полнофункциональные приложения и подключаться / запрашивать Mongo для меня довольно плохо.
Может ли кто-нибудь предоставить пример (или ссылку на пример) того, как я мог бы использовать свои модели flask-mongoengine, но запрашивать с использованием инфраструктуры агрегирования с PyMongo? Потребуются ли для этого два соединения с MongoDB (одно для PyMongo для выполнения запроса агрегации, а второе для обычного запроса / вставки / обновления через MongoEngine)?
Пример запроса агрегации, который я хотел бы выполнить, выглядит следующим образом (этот запрос возвращает мне именно ту информацию, которую я хочу получить в оболочке Mongo):
db.entry.aggregate([
{ '$group' :
{ '_id' : { 'carrier' : '$carrierA', 'category' : '$category' },
'count' : { '$sum' : 1 }
}
}
])
Пример вывода из этого запроса:
{ "_id" : { "carrier" : "Carrier 1", "category" : "XYZ" }, "count" : 2 }
{ "_id" : { "carrier" : "Carrier 1", "category" : "ABC" }, "count" : 4 }
{ "_id" : { "carrier" : "Carrier 2", "category" : "XYZ" }, "count" : 31 }
{ "_id" : { "carrier" : "Carrier 2", "category" : "ABC" }, "count" : 6 }