查找与指定条件匹配的记录列表,并(如果可能)订阅每个记录。
GET /:model
结果可以根据蓝图配置和/或请求中发送的参数进行过滤、分页和排序。
如果操作是通过套接字请求触发的,则请求套接字将“订阅”所有返回的记录。如果任何返回的记录随后被更新或删除,则会向该套接字的客户端发送一条消息,通知他们更改。有关详细信息,请参阅 Model.subscribe() 文档。
参数 | 类型 | 详细信息 |
---|---|---|
model | 包含模型的 标识。 例如: 'purchase' (在 GET /purchase 中) |
|
_*_ | 要根据特定属性过滤结果,请指定一个查询参数,其名称与模型上定义的属性相同。 例如,如果我们的 Purchase 模型具有 amount 属性,我们可以发送 GET /purchase?amount=99.99 以返回 99.99 美元的购买列表。 |
|
where | 您可能不希望根据特定属性进行过滤,而是选择提供一个 where 参数,其中包含 Waterline 条件 的 WHERE 部分,以 JSON 字符串形式编码。这使您可以利用 contains 、startsWith 和其他子属性条件修饰符来创建更强大的 find() 查询。例如: ?where={"name":{"contains":"theodore"}} |
|
limit | 要发送回的最大记录数(对分页有用)。默认为 30。 例如: ?limit=100 |
|
skip | 要跳过的记录数(对分页有用)。 例如: ?skip=30 |
|
sort | 排序顺序。默认情况下,返回的记录按主键值升序排序。 例如: ?sort=lastName%20ASC |
|
select | 要包含在结果中每个记录中的属性,指定为逗号分隔的列表。默认情况下,会选择所有属性。不适用于复数(“集合”)关联属性。 例如: ?select=name,age 。 |
|
omit | 要从结果中每个记录中排除的属性,指定为逗号分隔的列表。不能与 select 一起使用。不适用于复数(“集合”)关联属性。例如: ?omit=favoriteColor,address 。 |
|
populate | 如果指定,则覆盖默认的自动填充过程。接受要填充记录值的属性名称的逗号分隔列表,或指定 false 以使没有属性被填充。有关填充过程如何根据模型定义的关联在返回的记录列表中填写属性的更多信息,请参阅 此处。 |
查找数据库中最多 30 个最新的购买记录
GET /purchase?sort=createdAt DESC&limit=30
例如:
[
{
"amount": 49.99,
"id": 1,
"createdAt": 1485551132315,
"updatedAt": 1485551132315
},
{
"amount": 99.99,
"id": 47,
"createdAt": 1485551158349,
"updatedAt": 1485551158349
}
]
有关更多文档,请参阅 jquery.com。
$.get('/purchase?sort=createdAt DESC', function (purchases) {
console.log(purchases);
});
有关更多文档,请参阅 sails.io.js。
io.socket.get('/purchase?sort=createdAt DESC', function (purchases) {
console.log(purchases);
});
有关更多文档,请参阅 Angular。
$http.get('/purchase?sort=createdAt DESC')
.then(function (res) {
var purchases = res.data;
console.log(purchases);
});
您可以在 维基百科上了解更多关于 cURL 的信息。
curl https://127.0.0.1:1337/purchase?sort=createdAt%20DESC
以上示例假设已启用“rest”蓝图,并且您的项目包含
Purchase
模型。您可以通过运行以下命令快速实现此目的$ sails new foo $ cd foo $ sails generate model purchase $ sails lift # You will see a prompt about database auto-migration settings. # Just choose 1 (alter) and press <ENTER>.