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

发布于 2024-10-17 02:10:49 字数 209 浏览 5 评论 0原文

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

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

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

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

This is my sort right now. But the problem is, some things have the same "score". In that case, if they tie, I want them to sort by "time" within the ones who tied.

How do I do that? It's possible to do that in Mysql...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

寂寞美少年 2024-10-24 02:10:49

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

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

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

,请参见此处:http: //www.mongodb.org/display/DOCS/Sorting+and+Natural+Order

编辑:

在 pymongo 中,这将是

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

引用L http://api.mongodb.org/python/current/api/pymongo/cursor.html#pymongo.cursor.Cursor .排序

You can sort by more than one attribute at a time. e.g.

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

will sort by name ascending then by age descending

See here for reference: http://www.mongodb.org/display/DOCS/Sorting+and+Natural+Order

Edit:

In pymongo, that would be

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

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文