Nonanchored Substring使用Loopback API查询字段

时间:2016-12-08 05:24:36

标签: javascript node.js express loopbackjs

我正在尝试使用loopback api为typeahead字段实现一个简单的子字符串查询,也许我是盲目的,但我一直在寻找答案。

我只想为它提供一个子字符串,并让它返回名称中包含该子字符串的所有品牌。

例如,此请求/api/brands/search?q=tas将返回。

[{
  "brandName": "TastyKakes",
  "id": "4"
},
{
  "brandName": "FantasticPastries",
  "id": "10"
}]

我写了一个remoteMethod来处理这个问题,但是我无法让它返回我想要的数据

  Brand.search = function (q, callback) {
    var pattern = new RegExp(q, "i");
    var brands = Brand.find({
      where: {
        brandName: {
          like: pattern
        }
      }
    }, function (err, data) {
      callback(err, data)
    })
  };

我是Loopback / Node / Express的新手,但我来自Python / Django背景,在django中做这样的事情非常简单。我觉得我一定错过了什么。

1 个答案:

答案 0 :(得分:0)

我想这可以通过ilike %%来完成。在这样的where子句中不需要使用模式

Brand.search = function (q, callback) {
var pattern = "%s" + q + "%s";
var brands = Brand.find({
  where: {
    brandName: {
      ilike: pattern
    }
  }
}, function (err, data) {
  callback(err, data)
})
};

有关详细信息,请参阅HERE