我在解决这个我没有参与创建的应用程序时遇到了麻烦,但我可以修复。不管怎样,我发现我无法在 postgres 数据库中查询任何带有 _ 的变量。现在,在您说使用转义字符之前,我已经在那里完成了该操作并获得了 T 恤。据我所知,应用程序使用 escape-string-regexp 模块来更改字符串,例如 => "some_random@email.com"=> "some_random@email\.com"我添加了自己的模块来挑选_ 现在输出是=>“some\\_random@email\.com”。请注意我已扩展的大众论坛规定的下划线的两个转义符。我什至构建了一个工具来用 python 进行测试并且可以工作。当我使用=>“(E'some\\_random@email\\.com')”时略有不同。也用 javascript 尝试过,但仍然没有骰子。你们都怎么说?哦,据我所知,这是通过expressjs 发出的。我不是一个 JavaScript 人。
最佳答案
找到了解决方案。我和另一位队友回去重新审视了我创建的方法,并将“更改为”。接下来你知道,它开始工作了。
exports.stringChanger = function(word){
//console.log(word)
var metas = ["_"];
var guestPool = word.split("");
//console.log(guestPool)
for(i in range(guestPool.length)){
for(j in range(metas.length)){
if(guestPool[i] === metas[j]){
guestPool[i] = "\\" + guestPool[i];
}
}
}
var guest = guestPool.join("");
return guest;
//console.log(guest)
};
至
exports.stringChanger = function(word){
//console.log(word)
var metas = ['_'];
var guestPool = word.split("");
//console.log(guestPool)
for(i in range(guestPool.length)){
for(j in range(metas.length)){
if(guestPool[i] === metas[j]){
guestPool[i] = '\\' + guestPool[i];
}
}
}
var guest = guestPool.join("");
return guest;
//console.log(guest)
};
关于javascript - 无法使用 javascript 查询带有 _ 的 postgres 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45870104/