MongoDB/MongoEngine:在1查询中获取2个计数
问题描述:
我试图最小化应用程序中的数据库调用次数。MongoDB/MongoEngine:在1查询中获取2个计数
是否可以在一次调用中完成这两个查询?
system_0 = System.objects(platform_id=platform_id, type=0).count()
system_1 = System.objects(platform_id=platform_id, type=1).count()
答
我不知道什么是mongoengine,但我认为你将能够将我的mongo shell的答案翻译成适合你的东西。是的,你可以通过聚合来实现它。例如:
db.collection.aggregate([{
$match : { platform_id : ... }
}, {
$group: {
_id: "$type",
count: { $sum: 1 }
}
}]);
如果您有更多的类型比0,1,你可以在$match
排除它们。