对PyMongo查询的结果进行排序

程序员

我有一个MongoDB查询,如下所示:

data =  db.collection.aggregate([{"$match":{"created_at":{"$gte":start,"$lt":end}}},{"$group":{"_id":"$stage","count":{"$sum":1}}},{"$match":{"count":{"$gt":m{u'count': 296, u'_id': u'10.57.72.93'}

结果如下:

{u'count': 230, u'_id': u'111.11.111.111'}
{u'count': 2240, u'_id': u'111.11.11.11'}

我正在尝试按“计数”列对输出进行排序:

data.sort('count',  pymongo.DESCENDING)

...但是出现以下错误:

'CommandCursor' object has no attribute 'sort'

谁能解释这个错误的原因?

虚假的

$sort汇总示例所示使用

from bson.son import SON

data =  db.collection.aggregate([
    {"$match":{"created_at":{"$gte":start,"$lt":end}}},
    {"$group":{"_id":"$stage","count":{"$sum":1}}},
    {"$match":{"count": ... }},
    {"$sort": SON([("count", -1)])}  # <---
]) 

替代的一般解决方案:sorted与自定义键功能一起使用:

data =  db.collection.aggregate(...)
data = sorted(data, key=lambda x: x['count'], reverse=True)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何对Linq查询分组结果进行排序

如何对多查询的结果进行排序?

根据数组索引对查询结果进行排序

Python不对sql查询结果进行排序

按值对查询结果进行排序

SQL查询以根据最大常见结果对结果进行排序

pymongo查询未返回结果

如何根据一列对查询结果进行排序?

solr查询以价格为基础以降序对结果进行排序

如何在数据日志查询中对结果进行排序

相同的查询但通过产生不同的结果进行排序

使用德语变音符号对查询结果进行排序

AtTask在API中的报表查询中对结果进行排序

如何按常用值对“ GROUP BY”查询结果进行排序?

如何在Sequelize中对查询结果进行排序?

使用子查询对 EF Core 中的结果进行排序

使用嵌套子句对查询结果进行排序

按Q()或匹配项的数量对Django查询结果进行排序

获取随机查询结果,然后对其进行排序

如何使用近似对 LINQ to SQL 查询的结果进行排序?

如何使用PyMongo在PythonEve中使用查找过滤器对结果进行排序

用嵌套查询对行进行排序(查询其他查询的结果)

对get()的结果进行排序

如何按日期对查询结果进行排序,然后按MySQL中的特定列值排序

如何通过 ComosDb 中聚合函数的结果对查询结果进行排序?

保留内部查询的顺序或基于内部查询数据集对结果进行排序

通过使用被查询实体的子实体的信息对Hibernate Criteria查询的结果进行排序

根据第二个查询中的时间对两个查询的结果进行排序

MySQL如何在对查询结果进行排序时进行分组?