Избегайте одинарных кавычек в запросе Postgres внутри приложения js node

Вот строка из моего кода узла js:

var qry = 'INSERT INTO "sma"."RMD"("UserId","Favourite")  VALUES (' + req.body.user + ',' + JSON.stringify(req.body.favourite) + ')'

Я хочу вставить одинарные кавычки, прежде чем JSON.stringify(req.body.favourite), Но я не могу избежать одинарных кавычек. Я не могу отладить проблему, так как загружаю код на облачный сервер predix. Есть идеи, как этого добиться?

2 ответа

Решение

Почему вы не используете готовые заявления?

var qry = 'INSERT INTO "sma"."RMD"("UserId","Favourite")  VALUES ($1, $2)';
client.query(qry, [ req.body.user, JSON.stringify(req.body.favourite])'

Вы также можете использовать шаблоны литералов для построения вашего запроса

Шаблонные литералы, которые используют символ обратной галочки. Проверьте основной ответ здесь

alert(`Use "double" and 'single' quotes in the same string`);
alert(`The escape the \` back-tick character in a string`);

Шаблонные литералы предлагают чистый синтаксис для: интерполяции переменных, многострочных строк и многого другого.

Другие вопросы по тегам