MongoDB / MongoEngine:在1个查询中获得2个计数

时间:2014-10-10 22:46:04

标签: mongodb mongoengine flask-mongoengine

我试图最小化应用程序中的数据库调用次数。

是否可以在一次通话中完成这两个查询?

system_0 = System.objects(platform_id=platform_id, type=0).count()
system_1 = System.objects(platform_id=platform_id, type=1).count()

1 个答案:

答案 0 :(得分:0)

我不知道什么是mongoengine,但我认为你能够将我的mongo shell答案翻译成适合你的东西。是的,您可以通过聚合实现它。例如:

db.collection.aggregate([{ 
   $match : { platform_id : ... }
}, {
    $group: {
        _id: "$type",
        count: { $sum: 1 }
    }
}]);

如果您的类型多于0,1,则可以在$match中排除它们。