小编Sir*_*alt的帖子

Flask-MongoEngine和PyMongo聚合查询

我正在尝试使用flask-mongoengine进行聚合查询,从我所看到的内容听起来并不可能.

我查看了几个论坛主题,电子邮件链和Stack Overflow上的一些问题,但我还没有找到一个如何用flask-mongoengine实现聚合的一个很好的例子.

这个问题中有一条评论说你必须使用"原始pymongo和聚合功能".但是,没有关于如何工作的例子.我已经修改了Python并使用Flask框架进行了基本的应用程序,但是深入研究完整的应用程序以及连接/查询Mongo对我来说是一个新手.

有人可以提供一个示例(或示例的链接),我可以如何利用我的flask-mongoengine模型,但是使用PyMongo的聚合框架进行查询?这需要两个连接到MongoDB(一个用于PyMongo执行聚合查询,另一个用于通过MongoEngine进行常规查询/插入/更新)?

我想要执行的聚合查询的示例如下(此查询获取了我在Mongo shell中所需的信息):

db.entry.aggregate([
    { '$group' : 
        { '_id' : { 'carrier' : '$carrierA', 'category' : '$category' }, 
          'count' : { '$sum' : 1 }
        }
    }
])
Run Code Online (Sandbox Code Playgroud)

此查询的输出示例:

{ "_id" : { "carrier" : "Carrier 1", "category" : "XYZ" }, "count" : 2 }
{ "_id" : { "carrier" : "Carrier 1", "category" : "ABC" }, "count" : 4 }
{ "_id" : { "carrier" : "Carrier 2", "category" : "XYZ" }, "count" : …
Run Code Online (Sandbox Code Playgroud)

python mongodb pymongo aggregation-framework flask-mongoengine

11
推荐指数
2
解决办法
5029
查看次数