我在MongoDB中有一堆文档,它们都有一个名为"timestamp"的时间戳字段,并以"1404008160"的形式存储。我想按照降序对此集合中的所有文档进行排序。我通过以下方式完成:
sort = [('timestamp', DESCENDING)]
collection.find(limit=10).sort(sort)
然而,我没有按时间戳降序排序的结果。我认为这是因为时间戳被视为int字段。有没有方法可以解决这个问题而不改变时间戳字段的数据类型?因为在这个集合中已经有很多数据了,所以不想通过导入/导出等方式进行操作。
此外,我想让mongodb负责排序的负载,而不是在Python中通过编程实现。
明确一下:时间戳并不表示文档创建的时间,它以字符串形式存储(例如“1404217646”)。
提前感谢。
pymongo.DESCENDING
。但实际上,这只是一个常量,用于使阅读更容易的-1
。作为int
,它不应该有影响,因为值应该按照那种方式排序。也许这些实际上是字符串?这意味着,在您查看shell中的数据时,这些引号""
是否出现? - Neil Lunn