我是Neo4j的新手,正在使用React + Express + Node + Neo4j应用程序。
我收到了错误消息
预期实体ID为整数值
当我做this query时。
但如果我将$id
更改为硬编码的数字,即5
,我会得到结果并且查询有效。
我还尝试将参数传递为{"id":5}
和{"id": '5'}
等,并将查询字符串中的参数引用为id = {id}
而不是$id
,尝试p.id
而不是ID(p)
或id(p)
。
请帮忙!
答案 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