Я пытаюсь сделать агрегационный запрос с помощью flask-mongoengine, и из того, что я прочитал, это не похоже на то, что это возможно.
Я просмотрел несколько тем на форуме, цепочки писем и несколько вопросов о переполнении стека, но не нашел действительно хорошего примера того, как реализовать агрегацию с помощью flask-mongoengine.
В этом вопросе есть комментарий, в котором говорится, что вам нужно использовать «необработанные функции pymongo и агрегирования». " Однако примеров того, как это могло бы работать, нет. Я повозился с 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 }