Neo4j JavaScript驱动程序(螺栓)通过id无法工作的Cypher查询=>错误:期望的实体ID是一个整数值

时间:2017-03-25 14:48:57

标签: javascript express neo4j cypher

我是Neo4j的新手,正在使用React + Express + Node + Neo4j应用程序。

我收到了错误消息

  

预期实体ID为整数值

当我做this query时。

但如果我将$id更改为硬编码的数字,即5,我会得到结果并且查询有效。

我还尝试将参数传递为{"id":5}{"id": '5'}等,并将查询字符串中的参数引用为id = {id}而不是$id,尝试p.id而不是ID(p)id(p)

请帮忙!

1 个答案:

答案 0 :(得分:5)

如果你想将node.js中的自然id作为param传递给cypher,你需要将它转换为64位整数:

var params = { id: require('neo4j-driver').v1.int(5) }

或者在cypher查询中:

MATCH (p) WHERE ID(p) = toInteger($id) RETURN p, ID(p) as id