我想知道如何在ruby的mongodb驱动程序中进行多字段排序
Example of sorting from official site我们可以找到以下示例:
# Sort in ascending order by :i
coll.find.sort(:i)
# Sort in descending order by :i
coll.find.sort(:i => :desc)
根据这些例子,我厌倦了做这样的事情
coll.find.sort(:i,:j)
这是行不通的
您是否知道在ruby驱动程序中进行多字段排序的正确方法。
答案 0 :(得分:1)
排序方法既可以使用单个字段排序的键,也可以使用 [键,方向]对的数组进行多个字段排序。这是你的看法:
coll.find.sort(["score", 1], ["created_at", 1])
答案 1 :(得分:0)
我们可以使用
hash_as_sort_parameters({:field1 => :asc, "field2" => :desc})
或
array_as_sort_parameters([["field1", :asc], ["field2", :desc]])
哈希的第一种方式由于某些原因对我不起作用,但第二种方法完全没问题