Javascript 为什么NodeJS MySQL在查询正确转义的JSON数组时会添加额外的退格?

Javascript 为什么NodeJS MySQL在查询正确转义的JSON数组时会添加额外的退格?,javascript,mysql,node.js,regex,express,Javascript,Mysql,Node.js,Regex,Express,正如标题所说,我试图用MySQL库转义NodeJSON中的JSON数组。我正在使用mysql.escape()函数,并将其打印到控制台,正确地将其格式化为['1\'/\','2','3'],但是当我查询它时,由于某种原因,查询会在没有明显原因的情况下添加一个额外的反斜杠,导致它抛出错误的语法错误,即['1\'/\','2','3']。我使用的查询是: INSERT INTO Recipes VALUES (uuid(), uuid_short(), '${USER_ID}', '${FAMILY

正如标题所说,我试图用MySQL库转义NodeJSON中的JSON数组。我正在使用mysql.escape()函数,并将其打印到控制台,正确地将其格式化为
['1\'/\','2','3']
,但是当我查询它时,由于某种原因,查询会在没有明显原因的情况下添加一个额外的反斜杠,导致它抛出错误的语法错误,即
['1\'/\','2','3']
。我使用的查询是:

INSERT INTO Recipes VALUES (uuid(), uuid_short(), '${USER_ID}', '${FAMILY_ID}', CURDATE(), ${connection.escape(recipe.TTM)}, ${connection.escape(recipe.name)}, ${connection.escape(recipe.description)}, '{"ingredients": ${handleEscape(recipe.ingredients)}}', '{"prep": ${handleEscape(recipe.prep)}}', '{"cooking": ${handleEscape(recipe.steps)}}', '{"tags": ${handleEscape(recipe.tags)}}', '${SHARING}', '${newPath}', 0)
MySQL正在接收的查询是:

INSERT INTO Recipes VALUES (uuid(), uuid_short(), 'a1e08ba2-cddd-11ea-9273-e4b97a23a86a', '6e27ec4e-cdf3-11ea-9029-e4b97a23a86a', CURDATE(), '1', '1', '1', '{"ingredients": ['1\\'/\\"','2','3']}', '{"prep": ['1']}', '{"cooking": ['1']}', '{"tags": ['1']}', 'public', 'uploads/1601334839980-slide#4.jpeg.JPG', 0)
作为参考,handleEscape是一个返回(正确)转义字符串的函数。我已无计可施,无法纠正这个错误。有人知道解决办法吗