Я столкнулся с проблемой в моем запросе, сгенерированной в NodeJ.К сгенерированному запросу добавлена обратная косая черта '\'.Аналогично вопросу, упомянутому здесь -
Удаление косых черт в узле js mysql query
Таким образом, упомянутое решение использует
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, '')