我正在编写一个脚本,需要使用python从mongodb获取数据。我需要首先使用timestamp字段按降序对数据进行排序,并获取最新的100个文档,然后我需要再次使用其他字段(pinu代码和timestamp)对这100个文档进行排序。代码如下:
cursor = db.col.find().sort([("timestamp", pymongo.DESCENDING)]).limit(100)
cus = cursor.sort([("pin_code", pymongo.ASCENDING),("timestamp",pymongo.DESCENDING)])
我希望第二个游标应该返回来自第一个cusor的排序数据,但它不会返回预期的结果。我知道mongodb find()
和sort()
函数返回游标,但我可以将该游标用作其他游标的输入吗?你知道吗
PS:我正在使用Pymango模块
问题是不能对cursor对象复合多个排序(或限制);只有最后一个方法调用才有任何效果。我们可以用以下代码来演示这一点:
提供:
因此,您需要做的是使用聚合管道或类似的方法,使用单个排序/过滤器,然后对结果使用sort或sorted:
find方法返回一个游标,它是对查询结果集的引用。你知道吗
你知道吗光标.py你知道吗
相关问题 更多 >
编程相关推荐