Neo4J使用NodeJs返回空结果

时间:2018-01-09 07:47:04

标签: node.js neo4j

我有以下功能:

async function getCoordinates(someId) {
  var coordinates = {longitude: 0, latitude: 0};
  var result = await neo4jsession.writeTransaction(tx =>
    tx.run(`MATCH (p:SomeEntity)
    WHERE p.some_id = "${someId}"
    RETURN p.longitude, p.latitude LIMIT 1`)
  );
  coordinates.longitude = results.records[0].get("p.longitude");
  coordinates.latitude = results.records[0].get("p.latitude");
  return coordinates;
}

问题是,在上面,当我打印console.log(result)时,我看到返回的结果没有任何Records。但是,当我运行查询时:

MATCH (p:SomeEntity)
WHERE p.some_id = 12345
RETURN p.longitude, p.latitude LIMIT 1

对于相同的some_id我得到了预期的结果。我有一些其他功能与查询工作。我只能通过此查询获得此问题。

由于查询未返回任何记录,因此coordinates.longitude = results.records[0].get("p.longitude"); TypeError失败。

1 个答案:

答案 0 :(得分:1)

可能有两个问题

  

你确定some_id不是"节点的标识" ?匹配节点的id   (自动生成的id)我们使用id(node)= 12345语法

     

确保$ {someId}是您正在比较的数值   数字到字符串。如果some_id是数字

,请删除引号