问题描述
使用NodeJS + typeorm + PostgreSQL。 我有一个模式匹配查询来搜索以下3个列(id,用户名或全名)中的任何一个都类似于(〜*)输入值(id)列表中的任何一个的用户:
/article/write
这对于“普通”字符串效果很好,但是如果// assume 'ids' is defined as say:
// const ids = [ 'somestring','str+' ];
queryBuilder.andWhere(`f_concat_space(CAST(id as text),username,fullname) ~* any(array[ :...ids ])`,{ ids });
中的输入具有模式匹配的特殊字符(例如'+'),那么它将被视为模式匹配字符,而我想用作常规字符。
有什么方法可以使它工作而无需在我的代码中添加字符列表并在代码中手动转义它们?
可能有一个现成的函数可以调用来转义这些模式匹配字符?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)