Cypher 查询不适用于 node.js 但适用于 neo4j 控制台
Cypher query not working from node.js but works from neo4j console
我正在尝试使用 node-neo4j
模块编写一个与 neo4j 一起工作的 node.js 应用程序。我试图从 nodejs
提交一个查询,但发现它不起作用,所以我尝试从 neo4j browser console
提交它,以便更容易地找出我的错字的根源,并发现它工作正常那里。关于正在发生的事情有什么想法吗?
查询:
Match (a:Paper { uid:26327110, citation:"Seitz A. \"Moving beyond a binary view of specificity in perceptual learning.\" Journal of vision. 15 12 (2015 Sep 1): 1422.", date:"2015 Sep 1"}) return a
您可能无论如何都应该使用参数,它们可能有助于解决任何编码问题。看起来像这样:
var query_string = "MATCH (a:Paper {attributes}) RETURN a"
var attributes = {uid: 26327110, citation: "Seitz A. \"Moving beyond a binary view of specificity in perceptual learning.\" Journal of vision. 15 12 (2015 Sep 1): 1422.", date: "2015 Sep 1"};
db.cypherQuery(query_string, {attributes: attributes});
当然,如果您愿意,您可以对单个值使用单个参数。参数不仅可以帮助您不用担心编码问题,还可以让 Neo4j 缓存查询。此外,如果您从用户参数中传递值也可以帮助您防止注入攻击。
在这种情况下,事实证明我只是一个白痴 - 发生错误是因为我使用新密码创建了一个新数据库而忘记调整我的节点服务器的身份验证。如果您曾经遇到过类似的问题并在您的节点控制台中看到以下错误:[Error: HTTP Error 401 when running the cypher query against neo4j. undefined: undefined]
那么您也遇到了白痴的情况。正如 Kunal 在对原始问题的评论中所建议的那样,请检查您的身份验证。
我正在尝试使用 node-neo4j
模块编写一个与 neo4j 一起工作的 node.js 应用程序。我试图从 nodejs
提交一个查询,但发现它不起作用,所以我尝试从 neo4j browser console
提交它,以便更容易地找出我的错字的根源,并发现它工作正常那里。关于正在发生的事情有什么想法吗?
查询:
Match (a:Paper { uid:26327110, citation:"Seitz A. \"Moving beyond a binary view of specificity in perceptual learning.\" Journal of vision. 15 12 (2015 Sep 1): 1422.", date:"2015 Sep 1"}) return a
您可能无论如何都应该使用参数,它们可能有助于解决任何编码问题。看起来像这样:
var query_string = "MATCH (a:Paper {attributes}) RETURN a"
var attributes = {uid: 26327110, citation: "Seitz A. \"Moving beyond a binary view of specificity in perceptual learning.\" Journal of vision. 15 12 (2015 Sep 1): 1422.", date: "2015 Sep 1"};
db.cypherQuery(query_string, {attributes: attributes});
当然,如果您愿意,您可以对单个值使用单个参数。参数不仅可以帮助您不用担心编码问题,还可以让 Neo4j 缓存查询。此外,如果您从用户参数中传递值也可以帮助您防止注入攻击。
在这种情况下,事实证明我只是一个白痴 - 发生错误是因为我使用新密码创建了一个新数据库而忘记调整我的节点服务器的身份验证。如果您曾经遇到过类似的问题并在您的节点控制台中看到以下错误:[Error: HTTP Error 401 when running the cypher query against neo4j. undefined: undefined]
那么您也遇到了白痴的情况。正如 Kunal 在对原始问题的评论中所建议的那样,请检查您的身份验证。