.find()Find records in your database that match the given criteria.
var records = await Something.find(criteria);
| Argument | Type | Details | |
|---|---|---|---|
| 1 | criteria | The Waterline criteria to use for matching records in the database. |
| Type | Description |
|---|---|
| The array of records from your database that match the given criteria. |
| Name | Type | When? |
|---|---|---|
| UsageError | Thrown if something invalid was passed in. | |
| AdapterError | Thrown if something went wrong in the database adapter. | |
| Error | Thrown if anything else unexpected happens. |
See Concepts > Models and ORM > Errors for examples of negotiating errors in Sails and Waterline.
To find any users named Finn in the database:
var usersNamedFinn = await User.find({name:'Finn'});
sails.log('Wow, there are %d users named Finn. Check it out:', usersNamedFinn.length, usersNamedFinn);
Projection selectively omits the fields returned on found records. This is useful for achieving faster performance and greater security when passing found records to the client. The select clause in a Waterline criteria takes an array of strings that correspond with attribute names. The record ID is always returned.
var usersNamedFinn = await User.find({
where: {name:'Finn'},
select: ['name', 'email']
});
might yield:
[
{
id: 7392,
name: 'Finn',
email: '[email protected]'
},
{
id: 4427,
name: 'Finn',
email: '[email protected]'
}
// ...more users named Finn and their email addresses
]
- This method can be used with
await, promise chaining, or traditional Node callbacks.