如果在mongoengine中没有“field.there ()”可以使用,我想要计算一个注解中不同值的所有数字,那么我如何计算这些数字并按数字排序呢?
我想解决这个问题的唯一方法是使用“distinct()”找出不同的值,然后使用“count ()”对每个值进行计数这是一种实现我想要的结果的愚蠢方法
你还有其他办法吗?
发布于 2012-11-21 17:40:32
MongoEngine提供了一些map reduce辅助工具,可以满足您的需求。查询集方法item_frequencies1将满足您的需求。对新的聚合框架没有任何特殊的支持,但将来可能会添加支持。
示例用法:
BlogPost.objects.item_frequencies('tags')发布于 2012-11-21 04:08:34
MongoEngine本身没有特殊的方法来实现这一点,但是MongoDB 2.2聚合框架允许您对文档进行计数,并按字段分组。我建议直接使用PyMongo的aggregate方法和一个聚合管道来执行此查询:
http://api.mongodb.org/python/current/examples/aggregation.html
https://stackoverflow.com/questions/13468687
复制相似问题