1

どうすれば次のようなことができますか:

sort('object.property')

(オブジェクトはモデルでタイプ 'json' として定義されます)

ウォーターラインと?

まだ関連付けがない最新の安定ビルド 0.9.~ を使用していることに注意してください。

4

1 に答える 1

2

簡単なテストでは、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"
    }
]
于 2014-04-13T09:45:11.043 に答える