PostgreSQL多子字符串搜索

时间:2017-08-13 17:39:02

标签: javascript arrays postgresql

我想从Javascript中的GET字符串中获取子字符串,以将它们传递给PostgreSQL上的查询。 我已经尝试过使用PostgreSQL全文搜索,但最终遇到了问题,全文搜索只允许前缀匹配(Already described here)。

所以我希望使用' ILIKE ALL(数组)'带有通配符的子串数组。

  

SELECT * from parcels WHERE doc ilike   ALL(数组['%substr1%','%substr2%','%substr3%']);

我在Javascript中拆分了我的GET字符串。

  

var str =(GET()[' search'])。split(' +');

这给了我一个子串数组。 如何使用regEx为每个子字符串添加前导和尾随%? 或者有更好的方法来实现这个目标吗?

1 个答案:

答案 0 :(得分:0)

在JavaScript中,您可以使用map

var str = (GET()['search']).split('+').map(word => '%' + word + '%');

在ES5兼容代码中:

var str = (GET()['search']).split('+').map(function (word) {
    return '%' + word + '%';
});