Я столкнулся с проблемой в моем запросе, который я генерирую в NodeJs. К создаваемому запросу добавляется обратная косая черта '\'. Подобно упомянутому здесь вопросу -
Убрать косые черты в запросе node js mysql
Таким образом, упомянутое решение использует
connection.escape(stringValue)
Однако я столкнулся с трудностями при использовании connection.escape. Я получаю ошибку -
UnhandledPromiseRejectionWarning: Unhandled promise rejection
(rejection id: 1): TypeError: connection.escape is not a function
Я понимаю, что нам нужна связь. Итак, я создал
connection.js
const neo4jIP = "localhost";
const neo4jPort = 11001;
const neo4j = require('neo4j-driver').v1;
const driver = neo4j.driver("bolt://"+neo4jIP+":"+neo4jPort,
neo4j.auth.basic("neo4j", "abc1"));
var session = driver.session();
var getConnection = function (cb) {
session.getConnection(function (err, connection) {
// pass the error to the callback
if (err) {
return cb(err);
}
cb(null, connection);
});
};
module.exports = getConnection;
Мой запрос -
matchQuery = "Match (" + lowerCaseParent + ":" + lowerCaseParent +") where "+ lowerCaseParent +".name = "+ connection.escape(parent) +" ";
createQuery = "Create ("+ lowerCaseData +":"+ lowerCaseData +"{name:"+ connection.escape(data) +"})";
relationQuery = "("+ lowerCaseParent +")-[:"+ type +"]->("+lowerCaseData +")";
Запрос, который попадает в рамку, выглядит так, где косые черты нежелательны:
'Match (naya:naya) where naya.name =\'naya\' Create (it:it{name:\'it\'}),(naya)-[:Department]->(it)',
'Match (it:it) where it.name =\'it\' Create (test:test{name:\'test\'}),(it)-[:System]->(test)',
'Match (test:test) where test.name =\'test\' Create (ngoconnectionserviceimpl:ngoconnectionserviceimpl{name:\'ngoconnectionserviceimpl\'}),(test)-[:Function]->(ngoconnectionserviceimpl)'
Я как-то хочу удалить косую черту из запроса, и это невозможно сделать с помощью -
.replace(/\/g, '')
привет smac, он приходит сам по себе, escape-символ. Я не хочу их. т.е. мне не нужна обратная косая черта
connection.escape используется для экранирования обратной косой черты / любого escape-символа



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Похоже, он избегает одинарных кавычек. Использование обратной косой черты для экранирования значимых символов очень распространено. Если вы не хотите побега, почему вы используете
connection.escape?