我正在尝试用node.js模块编写一个与neo4j一起工作的node-neo4j应用程序。我试图从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发布于 2015-09-04 05:44:19
在这种情况下,结果发现我只是个白痴--错误发生的原因是我创建了一个新数据库,使用了新密码,并且忘记了调整节点服务器的身份验证。如果您有类似的问题,并且在您的节点控制台中看到以下错误:[Error: HTTP Error 401 when running the cypher query against neo4j. undefined: undefined],那么您也有一个白痴的案例。正如Kunal在对原始问题的评论中所建议的,检查您的认证。
发布于 2015-09-04 05:04:12
无论如何,您可能应该使用参数,它们可能有助于解决任何编码问题。看起来是这样的:
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缓存查询。此外,如果您从用户参数传入值,也可以帮助您防止注入攻击。
https://stackoverflow.com/questions/32390356
复制相似问题