0

我想知道如何在 ruby​​ 的 mongodb 驱动程序中进行多字段排序

从官方网站排序的示例,我们可以在其中找到以下示例:

# 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​​ 驱动程序中进行多字段排序的正确方法吗?

4

2 回答 2

1

排序方法可以采用键进行单字段排序,也可以采用[key, direction] 对数组进行多字段排序。这是你的样子:

coll.find.sort(["score", 1], ["created_at", 1])
于 2012-11-02T14:36:16.530 回答
0

经过简短的调查,找到了答案

我们可以使用

hash_as_sort_parameters({:field1 => :asc, "field2" => :desc})

或者

array_as_sort_parameters([["field1", :asc], ["field2", :desc]])

由于某种原因,第一种方法对我不起作用,但第二种方法完全可以

于 2012-11-02T14:57:44.720 回答