order フィルタは結果をソートする方法(指定したプロパティの昇順 (ASC) または 降順 (DESC) )を指定します。
REST API
一つのプロパティでソートするには以下のようにします。
filter[order]=propertyName <ASC|DESC>
2つ以上のプロパティでソートするには以下のようにします。
filter[order][0]=propertyName <ASC|DESC>&filter[order][1]propertyName]=<ASC|DESC>...
ここで、
- propertyName はソートに使用するプロパティ(フィールド)の名前です。
<ASC|DESC>
は昇順ソートの場合 ASC、降順ソートの場合 DESC を指定します。
You can also use stringified JSON format in a REST query.
Note: Configure default ordering in default scope.
Node API
1つのプロパティでソートするには以下のようにします。
{ order: 'propertyName <ASC|DESC>' }
2つ以上のプロパティでソートするには以下のようにします。
{ order: ['propertyName <ASC|DESC>', 'propertyName <ASC|DESC>',...] }
ここで、
- propertyName はソートに使用するプロパティ(フィールド)の名前です。
<ASC|DESC>
は昇順ソートの場合 ASC、降順ソートの場合 DESC を指定します。
REVIEW COMMENT from Rand
I could not get multiple sort fields to work with REST. I would expect to be able to sort by (A,B) where it sorts by A and then by B:
filter[order]=propertyName <ASC|DESC>,propertyName <ASC|DESC>, ...
But for example
http://localhost:3000/api/cars?filter[order]=color%20ASC,id%20ASC
Does not seem to be sorted in any order.
Nor does http://localhost:3000/api/cars?filter[order][0]=color%20ASC[order][1]=make%20ASC
rfeng: filter[order][0]=color%20ASC&filter[order][1]=make%20ASC should be used.
Also: Is there any way to sort numerical properties as numbers instead of string? For example, if I sort by ID the records are returned in this order: 1, 10, 100, 101, 102, …, 11, 110, 111, …
例
最もうるさい武器を3つ、audibleRange
プロパティでソートして返すには以下のようにします。
REST
/weapons?filter[order]=audibleRange%20DESC&filter[limit]=3
weapons.find({
order: 'audibleRange DESC',
limit: 3
});