2017-03-25 3 views
2

Refact + Express + Node + Neo4j 앱을 사용하는 Neo4j를 처음 사용했습니다. 내가 this query을 수행 할 때 Neo4j 자바 스크립트 드라이버 (볼트) ID가 작동하지 않는 Cypher 쿼리 => 오류 : 예상되는 엔티티 ID가 정수 값이됩니다.

나는 오류 메시지

Expected entity id to be an integral value

을 얻었다.

그러나 $id을 하드 코드 된 숫자, 즉 5으로 변경하면 결과가 나타나고 검색어가 작동합니다.

는 또한 등 {"id":5}{"id": '5'}, 같은 PARAM을 전달하려고 ... 대신 $idid = {id}으로 쿼리 문자열에 PARAM을 참조하고 p.id 대신 ID(p) 또는 id(p)을 시도했습니다.

도와주세요!

답변

3

당신은 PARAM로 사이퍼에 Node.js를 천연 ID를 전달하려는 경우에는 64 비트 정수로 변환해야합니다 그래서

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

감사 :

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

또는 사이퍼 쿼리 자체

많은 stdob! 효과가있었습니다. –