有人知道我如何按两个值对表格进行排序?
例如:
我的统计信息集合包含“_id”,“title”,“link”,“stats”,“range”列。 “stats”列可以包含值['duration','pace','distance'], “范围”栏可能包括0-10公里的线索,20-20分钟,因此取决于统计值。
我想通过统计数据订购,之后按范围订购。
在上面的链接中,我按统计数据排序,现在我想按统计数据的每个值按范围排序!
我目前的代码:
guides = yield gen.Task(Guides.objects.find, query={}, limit=20,
sort={'stats': 1})
答案 0 :(得分:0)
要按多个字段订购文档,您需要一个复合排序语句,理想情况下是一个支持它的复合索引。
对于MongoDB中的复合索引,请参阅:http://docs.mongodb.org/manual/tutorial/create-a-compound-index/
你的排序看起来像是:
guides = yield gen.Task(Guides.objects.find, query={}, limit=20,
sort={'stats': 1, 'range': 1})
答案 1 :(得分:0)
你需要使用有序的东西,在这种情况下是数组的元组,比如:
sort([("stats",pymongo.ASCENDING), ("range",pymongo.ASCENDING)])
当然,因为python dicts没有订购。我相信这应该有用。