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 回答