.find()
指定された条件に一致するレコードをデータベースから検索します。
var records = await Something.find(criteria);
引数 | 型 | 詳細 | |
---|---|---|---|
1 | criteria | データベース内のレコードを照合するために使用するWaterline クライテリア。 |
型 | 説明 |
---|---|
指定された条件に一致するデータベースからのレコードの配列。 |
名前 | 型 | 発生タイミング |
---|---|---|
UsageError | 無効な値が渡された場合にスローされます。 | |
AdapterError | データベースアダプターで問題が発生した場合にスローされます。 | |
Error | 予期せぬことが発生した場合にスローされます。 |
SailsとWaterlineでのエラー処理の例については、概念 > モデルとORM > エラーを参照してください。
データベースから名前がFinnのユーザーを検索するには
var usersNamedFinn = await User.find({name:'Finn'});
sails.log('Wow, there are %d users named Finn. Check it out:', usersNamedFinn.length, usersNamedFinn);
プロジェクションは、検索されたレコードで返されるフィールドを選択的に省略します。これは、検索されたレコードをクライアントに渡す際に、パフォーマンスの向上とセキュリティの強化に役立ちます。Waterline クライテリアのselect句には、属性名に対応する文字列の配列を取ります。レコードIDは常に返されます。
var usersNamedFinn = await User.find({
where: {name:'Finn'},
select: ['name', 'email']
});
結果は次のようになります
[
{
id: 7392,
name: 'Finn',
email: '[email protected]'
},
{
id: 4427,
name: 'Finn',
email: '[email protected]'
}
// ...more users named Finn and their email addresses
]
- このメソッドは、
await
、Promiseチェーニング、または従来のNodeコールバックで使用できます。