您如何通过ID

时间:2019-06-26 16:44:49

标签: loopbackjs strongloop

如果我有一个具有许多属性的存储库,并且我想通过non-id属性查找某些内容,那么我是否只查找全部内容,然后在布尔比较后返回数据,或者是否有更好的方法来按属性查找那不是ID吗?

2 个答案:

答案 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'
  }
});