如果我有一个具有许多属性的存储库,并且我想通过non-id属性查找某些内容,那么我是否只查找全部内容,然后在布尔比较后返回数据,或者是否有更好的方法来按属性查找那不是ID吗?
答案 0 :(得分:0)
对于Loopback 3,可在此处找到用于查询数据的文档:https://loopback.io/doc/en/lb3/Querying-data.html
基本上,使用如下查询过滤器:
const objects = await app.models.ModelName.find(
{
where: {
propertyName: value
}
}
)
不要忘记为要查询的属性定义索引,因为否则,数据库引擎将执行全表扫描。
"properties": {
"propertyName": {
"type": "string",
"index": {
"unique": true
}
},
...
}
答案 1 :(得分:0)
在loopback4中,您需要为此使用存储库。执行以下操作。
对于您知道只有一个值的条目的情况。 (唯一列)
const user = await this.userRepository.findOne({
where: {
username: 'test_admin'
}
});
如果可以有多个。
const user = await this.userRepository.find({
where: {
firstName: 'test admin'
}
});