.find()
在您的数据库中查找与给定条件匹配的记录。
var records = await Something.find(criteria);
参数 | 类型 | 详情 | |
---|---|---|---|
1 | criteria | 用于匹配数据库中记录的 Waterline 查询语言 条件。 |
类型 | 描述 |
---|---|
与给定条件匹配的数据库记录数组。 |
名称 | 类型 | 何时 |
---|---|---|
UsageError | 如果传入无效内容,则抛出。 | |
AdapterError | 如果数据库适配器中出现问题,则抛出。 | |
Error | 如果发生任何其他意外情况,则抛出。 |
请参阅 概念 > 模型和 ORM > 错误,了解在 Sails 和 Waterline 中协商错误的示例。
查找数据库中名为 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 回调函数 一起使用。