我正在尝试使用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中做这样的事情非常简单。我觉得我一定错过了什么。
答案 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