尋找符合指定條件的記錄列表,並 (如果可能) 訂閱它們。
GET /:model
結果可以根據藍圖配置和/或請求中發送的參數進行篩選、分頁和排序。
如果操作是通過 socket 請求觸發的,則請求 socket 將「訂閱」所有返回的記錄。如果任何返回的記錄隨後被更新或刪除,將向該 socket 的客戶端發送消息,告知他們更改。有關詳細資訊,請參閱 Model.subscribe() 的文件。
參數 | 類型 | 詳細資訊 |
---|---|---|
模型 | 包含模型的 識別名稱 (identity)。 例如: 'purchase' (在 GET /purchase 中) |
|
_*_ | 若要根據特定屬性篩選結果,請指定與模型上定義的屬性名稱相同的查詢參數。 例如,如果我們的 Purchase 模型具有 amount 屬性,我們可以發送 GET /purchase?amount=99.99 以返回 $99.99 的購買列表。 |
|
條件 | 您可以選擇提供 where 參數,而不是根據特定屬性進行篩選,where 參數包含 Waterline 條件的 WHERE 部分,編碼為 JSON 字串。這讓您可以利用 contains 、startsWith 和其他子屬性條件修飾符,進行更強大的 find() 查詢。例如: ?where={"name":{"contains":"theodore"}} |
|
限制 | 要發送回的最大記錄數 (用於分頁)。預設值為 30。 例如: ?limit=100 |
|
跳過 | 要跳過的記錄數 (用於分頁)。 例如: ?skip=30 |
|
排序 | 排序順序。預設情況下,返回的記錄按主鍵值升序排序。 例如: ?sort=lastName%20ASC |
|
選擇 | 要在結果中包含每個記錄的屬性,指定為逗號分隔的列表。預設情況下,會選擇所有屬性。對複數 (「集合」) 關聯屬性無效。 例如: ?select=name,age 。 |
|
忽略 | 要從結果中的每個記錄排除的屬性,指定為逗號分隔的列表。不能與 select 一起使用。對複數 (「集合」) 關聯屬性無效。例如: ?omit=favoriteColor,address 。 |
|
填充 | 如果指定,則覆蓋預設的自動填充過程。接受要填充記錄值的屬性名稱的逗號分隔列表,或指定 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);
});
您可以在 Wikipedia 上的 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>.