.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.