在Mongodb中,我如何首先按分数排序,然后按时间排序是否存在“平局”?

时间:2011-02-09 00:57:31

标签: mongodb sorting pymongo database

results = docDB.posts.find({"active":True }).sort("pop_score", pymongo.DESCENDING)

现在这是我的排序。但问题是,有些东西有相同的“得分”。在这种情况下,如果他们打成平手,我希望他们在绑定的人中按“时间”排序。

我该怎么做?可以在Mysql中做到这一点...

1 个答案:

答案 0 :(得分:16)

您可以一次按多个属性排序。 e.g。

sort({name : 1, age : -1})

将按名称升序排序,然后按年龄降序排序

请参阅此处以供参考:http://www.mongodb.org/display/DOCS/Sorting+and+Natural+Order

编辑:

在pymongo中,那将是

.sort([['name', pymongo.ASCENDING], ['age', pymongo.DESCENDING]])

referenceL http://api.mongodb.org/python/current/api/pymongo/cursor.html#pymongo.cursor.Cursor.sort