【问题标题】:In Mongodb, how do I first sort by score, then sort by time if there is a "tie"?在MongoDB中,我如何先按分数排序,如果有“平局”,再按时间排序?
【发布时间】:2011-06-23 20:15:01
【问题描述】:
results = docDB.posts.find({"active":True }).sort("pop_score", pymongo.DESCENDING)

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

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

【问题讨论】:

    标签: mongodb sorting pymongo database


    【解决方案1】:

    您一次可以按多个属性排序。例如

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

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

    参考这里:http://www.mongodb.org/display/DOCS/Sorting+and+Natural+Order

    编辑:

    在 pymongo 中是这样的

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

    参考Lhttp://api.mongodb.org/python/current/api/pymongo/cursor.html#pymongo.cursor.Cursor.sort

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-15
    • 2016-01-31
    • 1970-01-01
    • 1970-01-01
    • 2018-01-26
    • 1970-01-01
    • 2023-03-13
    • 2021-09-13
    相关资源
    最近更新 更多