Consulta de agregação do Flask-MongoEngine e do PyMongo
Estou tentando fazer uma consulta de agregação usando o flask-mongoengine e, pelo que li, não parece possível.
Examinei vários tópicos do fórum, cadeias de e-mail e algumas perguntas sobre o Stack Overflow, mas não encontrei um bom exemplo de como implementar a agregação com o flask-mongoengine.
Há um comentário emessa questão isso diz que você precisa usar "funcionalidade bruta de agregado e pymongo". No entanto, não há exemplos de como isso pode funcionar. Eu consertei o Python e tenho um aplicativo básico usando a estrutura do Flask, mas me aprofundar em aplicativos completos e conectar / consultar o Mongo é algo novo para mim.
Alguém pode fornecer um exemplo (ou vincular-se a um exemplo) de como eu poderia utilizar meus modelos de frasco-mongoengina, mas consultar usando a estrutura de agregação com o PyMongo? Isso exigirá duas conexões com o MongoDB (uma para o PyMongo executar a consulta de agregação e uma segunda para a consulta / inserção / atualização regular via MongoEngine)?
Um exemplo da consulta de agregação que gostaria de executar é a seguinte (essa consulta fornece exatamente as informações que eu quero no shell do Mongo):
db.entry.aggregate([
{ '$group' :
{ '_id' : { 'carrier' : '$carrierA', 'category' : '$category' },
'count' : { '$sum' : 1 }
}
}
])
Um exemplo da saída desta 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 }