2017-02-21 19 views
1

我想创建一个连接到NEO4J实例的REST API。我使用koa-neo4j库作为基础(https://github.com/assister-ai/koa-neo4j-starter-kit)。无法通过使用KOA-NEO4J库的参数

下面的第一个例子工作正常。当我点击终端“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' 
}); 

指标按name.cyp

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

当我打的终点 “的myapp /公制/ TestMetricName” 我刚得到一个错误信息后面是来自Neo4j的。

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

它看起来像代码不是在说我已经通过(例如TestMetricName)值的暗号查询换出占位符$ metricname。

任何帮助表示赞赏。

+0

neo4j'你用什么版本的'? –

+0

在GrapheneDB.com上运行的Neo4j Community Edition 3.0.5 – n4nite

+2

尝试用''metricname}'代替'$ metricname' –

回答