node.js - 如何在代码中解析带引号的搜索查询

标签 node.js neo4j cypher

我有一个在数据库客户端中工作的搜索查询,但在 Nodejs 中使用它时出现引号解析错误。

这是原始查询

   match (n)-[l:DATA_FLOWS]->(m) where l.nme =~ '(?i).*new.*' return n, l, m

我正在尝试在编码中使用它。

session.run('match (n)-[l:DATA_FLOWS]->(m) where l.nme =~ ''(?i).*'{feedParam}'.*' return n, l, m', {feedParam:search.value}).then(function (result) {

如何完成报价以使其发挥作用?

最佳答案

整个正则表达式必须作为参数传递:

session.run('match (n)-[l:DATA_FLOWS]->(m) where l.nme =~ ''(?i).*'{feedParam}'.*' return n, l, m', {feedParam:search.value})
.then(...)

应更改为:

var regexStr = '(?i).*' + search.value + '.*'
session.run('MATCH (n)-[l:DATA_FLOWS]->(m) WHERE l.nme =~ {feedParam} RETURN n, l, m', {feedParam: regexStr})
.then(...)

** 使用多个参数更新 ** :

var regexStr = '(?i).*' + search.value + '.*'
var source = 'BoxA'
var destination = 'Box J'
var query = `MATCH (n)-[l:DATA_FLOWS]->(m) WHERE l.nme =~ {feedParam}
AND n.nme = $source AND m.nme = $destination 
RETURN n, l, m`
session.run('', {feedParam: regexStr, source: source, destination: destination})
    .then(...)

关于node.js - 如何在代码中解析带引号的搜索查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53195221/

相关文章:

neo4j - 优化 Cypher 查询以提高性能

mongodb - 将 mongodb 与 neo4j 集成,是否有任何 API 可以链接它们?

Neo4j/密码 : Is CREATE UNIQUE deprecated?

node.js - 将参数附加到 URL

neo4j - 使用浏览器界面导入密码脚本

neo4j - Cypher 'Node Already Exists' 问题与 MERGE

neo4j:在浏览器界面中设置密码查询参数的语法是什么?

javascript - 在浏览器中使用 PDFkit,从链接插入图像

node.js - 快速 session 不会注销

javascript - 使用 Javascript、 Node 自动化 UI 测试 - 启动和停止 Web 服务器