質問

どのように私は何かを行うことができますか:

sort('object.property')

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

ウォーターラインとは?

私は最新の安定ビルド0.9を使用していることに注意してください。~まだ関連性がありません。

役に立ちましたか?

解決

速いテストは示しました sails-mongo アダプターを使用すると、JSON属性をすぐに並べ替えることができます(mongoデータベースに透過的に到達します)。

まず、次を使用して空のコントローラーとモデルを作成しました:

sails generate foo

それから私はaを定義しました 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"
    }
]
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top