2

我正在尝试使用该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
4

2 回答 2

2

无论如何,您可能应该使用参数,它们可能有助于解决任何编码问题。看起来像这样:

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 缓存查询。此外,如果您从用户参数中传递值也可以帮助您防止注入攻击。

于 2015-09-04T05:04:12.850 回答
2

在这种情况下,事实证明我只是一个白痴 - 发生错误是因为我使用新密码创建了一个新数据库并且忘记调整我的节点服务器的身份验证。如果您遇到类似问题并在节点控制台中看到以下错误:[Error: HTTP Error 401 when running the cypher query against neo4j. undefined: undefined]那么您也遇到了白痴的情况。正如 Kunal 在对原始问题的评论中建议的那样,检查您的身份验证。

于 2015-09-04T05:44:19.093 回答