Find Records
Returns a list of records from the model as a JSON array of objects.
GET /:model
Results may be filtered, paginated, and sorted based on the blueprint configuration and/or parameters sent in the request.
If the action was triggered via a socket request, the requesting socket will be "subscribed" to all records returned. If any of the returned records are subsequently updated or deleted, a message will be sent to that socket's client informing them of the change. See the docs for Model.subscribe() for details.
Parameters
All parameters are optional.
Parameter | Type | Details |
---|---|---|
* | ((string)) | To filter results based on a particular attribute, specify a query parameter with the same name as the attribute defined on your model. For instance, if our Purchase model has an amount attribute, we could send GET /purchase?amount=99.99 to return a list of $99.99 purchases. |
where | ((string)) | Instead of filtering based on a specific attribute, you may instead choose to provide a where parameter with a Waterline WHERE criteria object, encoded as a JSON string. This allows you to take advantage of contains , startsWith , and other sub-attribute criteria modifiers for more powerful find() queries. e.g. ?where={"name":{"contains":"theodore"}} |
limit | ((number)) | The maximum number of records to send back (useful for pagination). Defaults to 30. e.g. ?limit=100 |
skip | ((number)) | The number of records to skip (useful for pagination). e.g. ?skip=30 |
sort | ((string)) | The sort order. By default, returned records are sorted by primary key value in ascending order. e.g. ?sort=lastName%20ASC |
callback | ((number)) | If specified, a JSONP response will be sent (instead of JSON). This is the name of a client-side javascript function to call, to which results will be passed as the first (and only) argument e.g. ?callback=my_JSONP_data_receiver_fn |
find
Example
Find the 30 newest purchases in our database.
[
{
"amount": 49.99,
"id": 1,
"createdAt": "2013-10-18T01:22:56.000Z",
"updatedAt": "2013-10-18T01:22:56.000Z"
},
{
"amount": 99.99,
"id": 47,
"createdAt": "2013-10-14T01:22:00.000Z",
"updatedAt": "2013-10-15T01:20:54.000Z"
}
]
Using jQuery:
$.get('/purchase?sort=createdAt DESC', function (purchases) {
console.log(purchases);
});
Using Angular:
$http.get('/purchase?sort=createdAt DESC')
.then(function (res) {
var purchases = res.data;
console.log(purchases);
});
Using sails.io.js:
io.socket.get('/purchase?sort=createdAt DESC', function (purchases) {
console.log(purchases);
});
Using cURL:
curl http://localhost:1337/purchase?sort=createdAt%20DESC
Notes
The example above assumes "rest" blueprints are enabled, and that your project contains a
Purchase
model and an emptyPurchaseController
. You can quickly achieve this by running:
$ sails new foo $ cd foo $ sails generate api purchase