我有以下功能:
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
失败。
答案 0 :(得分:1)
可能有两个问题
你确定some_id不是"节点的标识" ?匹配节点的id (自动生成的id)我们使用id(node)= 12345语法
确保$ {someId}是您正在比较的数值 数字到字符串。如果some_id是数字
,请删除引号