Back to Sails

`.find()`

docs/reference/waterline/models/find.md

12.12.20002.7 KB
Original Source

.find()

Find records in your database that match the given criteria.

usage
var records = await Something.find(criteria);

Usage

ArgumentTypeDetails
1criteria((dictionary))The Waterline criteria to use for matching records in the database.
Result
TypeDescription
((array)) of ((dictionary))The array of records from your database that match the given criteria.
Errors
NameTypeWhen?
UsageError((Error))Thrown if something invalid was passed in.
AdapterError((Error))Thrown if something went wrong in the database adapter.
Error((Error))Thrown if anything else unexpected happens.

See Concepts > Models and ORM > Errors for examples of negotiating errors in Sails and Waterline.

Example

A basic find query

To find any users named Finn in the database:

javascript
var usersNamedFinn = await User.find({name:'Finn'});
sails.log('Wow, there are %d users named Finn.  Check it out:', usersNamedFinn.length, usersNamedFinn);
Using projection

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.

javascript
var usersNamedFinn = await User.find({
  where: {name:'Finn'},
  select: ['name', 'email']
});

might yield:

javascript
[
  {
    id: 7392,
    name: 'Finn',
    email: '[email protected]'
  },
  {
    id: 4427,
    name: 'Finn',
    email: '[email protected]'
  }
  // ...more users named Finn and their email addresses
]

Notes

<docmeta name="importance" value="10"> <docmeta name="displayName" value=".find()"> <docmeta name="pageType" value="method">