gpt4 book ai didi

node.js - 无法使用 KOA-NEO4J 库传递参数

转载 作者:太空宇宙 更新时间:2023-11-03 23:27:20 24 4
gpt4 key购买 nike

我正在尝试创建一个连接到 NEO4J 实例的 REST API。我使用 koa-neo4j 库作为基础( https://github.com/assister-ai/koa-neo4j-starter-kit )。

下面的第一个示例运行良好。当我点击端点“myapp/metric”时,我从数据库中得到了预期的结果。

Index.js

//Return all metrics from the database
app.defineAPI({
method: 'GET',
route: '/api/v1/imm/metric',
cypherQueryFile: './src/api/v1/imm/metric/metric.cyp'
});

metric.cyp

MATCH (a:metric)
RETURN a AS metric

我正在尝试在此示例的基础上创建一个端点,在其中我可以传递将在密码查询中使用的参数,我已遵循文档并最终得到以下结果。

Index.js

//Return all metrics from the database matching a specific metric name
app.defineAPI({
method: 'GET',
route: '/api/v1/imm/metric/:metricname',
cypherQueryFile: './src/api/v1/imm/metric/metric-by-name.cyp'
});

按名称度量.cyp

MATCH (a:metric {name: $metricname })
RETURN a AS metric

当我点击端点“myapp/metric/TestMetricName”时,我只收到一条来自 Neo4j 的错误消息。

ConflictError: error while executing Cypher: Error: Variable $metricname not defined (line 1, column 24 (offset: 23)) "MATCH (a:metric {name: $metricname })"

看起来代码没有将 cypher 查询中的占位符 $metricname 替换为我传递的值(例如 TestMetricName)。

感谢任何帮助。

最佳答案

自 3.1.10-M06 起,Cypher 中的参数采用新语法($param 而不是 {param})。库 koa-Neo4j 的文档和示例使用最新版本。

所以尝试用 {param} 代替 $param

https://github.com/neo4j/neo4j/wiki/Neo4j-3.1-changelog#310-m06

https://github.com/neo4j/neo4j/pull/7558

关于node.js - 无法使用 KOA-NEO4J 库传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42370292/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com