どうすれば次のようなことができますか:
sort('object.property')
(オブジェクトはモデルでタイプ 'json' として定義されます)
ウォーターラインと?
まだ関連付けがない最新の安定ビルド 0.9.~ を使用していることに注意してください。
簡単なテストでは、sails-mongo
アダプターを使用するとすぐに JSON 属性をソートできることが示されました (mongo データベースに透過的に到達します)。
最初に、以下を使用して空のコントローラーとモデルを作成しました。
sails generate foo
次に、モデルのdata
タイプでプロパティを定義しました。json
module.exports = {
attributes: {
data: 'json'
}
};
次のようなデータを使用して、いくつかのオブジェクトを作成しましたHTTP POST
(並べ替え値を増やしました)。
{
"data": {
"sort": 1
}
}
その後、次のGET
リクエストを使用してコレクションをフェッチしました。
http://localhost:1337/foo?sort=data.sort+desc
内部的には次のような呼び出しになります
Foo.find().sort('data.sort desc').exec(callback);
サーバーの応答は、指定されたプロパティでソートされるようになりました。
[
{
"data": {
"sort": 3
},
"createdAt": "2014-04-13T09:35:49.734Z",
"updatedAt": "2014-04-13T09:35:49.734Z",
"id": "534a5a7553f1e98e09d1d86b"
},
{
"data": {
"sort": 2
},
"createdAt": "2014-04-13T09:35:45.814Z",
"updatedAt": "2014-04-13T09:35:45.814Z",
"id": "534a5a7153f1e98e09d1d86a"
},
{
"data": {
"sort": 1
},
"createdAt": "2014-04-13T09:35:41.958Z",
"updatedAt": "2014-04-13T09:35:41.958Z",
"id": "534a5a6d53f1e98e09d1d869"
}
]