mongodb multifield sort

时间:2012-11-02 13:54:18

标签: ruby mongodb sorting

我想知道如何在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驱动程序中进行多字段排序的正确方法。

2 个答案:

答案 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]])

哈希的第一种方式由于某些原因对我不起作用,但第二种方法完全没问题