Flask-MongoEngine & PyMongo Aggregation Query
Estoy tratando de hacer una consulta de agregación usando frasco-mongoengine, y por lo que he leído, no parece que sea posible.
He revisado varios hilos del foro, cadenas de correo electrónico y algunas preguntas sobre Stack Overflow, pero no he encontrado un buen ejemplo de cómo implementar la agregación con flask-mongoengine.
Hay un comentario enesta pregunta eso dice que tienes que usar "funcionalidad de agregación y pymongo sin procesar". Sin embargo, no hay ejemplos de cómo podría funcionar. He jugado con Python y tengo una aplicación básica usando Flask Framework, pero profundizar en aplicaciones completas y conectar / consultar a Mongo es bastante nuevo para mí.
¿Alguien puede proporcionar un ejemplo (o un enlace a un ejemplo) de cómo podría utilizar mis modelos frasco-mongoengine, pero consultar utilizando el marco de agregación con PyMongo? ¿Esto requerirá dos conexiones a MongoDB (una para que PyMongo realice la consulta de agregación y una segunda para la consulta / inserción / actualización regular a través de MongoEngine)?
Un ejemplo de la consulta de agregación que me gustaría realizar es la siguiente (esta consulta me da exactamente la información que quiero en el shell Mongo):
db.entry.aggregate([
{ '$group' :
{ '_id' : { 'carrier' : '$carrierA', 'category' : '$category' },
'count' : { '$sum' : 1 }
}
}
])
Un ejemplo del resultado de esta consulta:
{ "_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 }