neo4j - Node-Neo4j:如何检查 cypherquery 删除节点是否成功?

标签 neo4j cypher node-neo4j

我正在使用 node-neo4j npm 模块,并使用 db.cypherquery() 调用从我的节点 js 应用程序调用密码查询。我正在尝试删除两个节点之间的关系,我想检测删除是成功还是失败。

引用下面的代码片段:

var cypherQuery = "MATCH (u1:User {id: '10'})-[r:LIKES]->(u2:User {id: '20'}) DELETE r;";
db.cypherQuery(cypherQuery, function(err, result){
            if(err) throw err; //does err indicate that delete failed, or something else (such as a syntax error in the cypher query)?

//do something based on whether delete succeeded or failed here

});

因此,在上面,检测以下情况的最佳方法是什么:
1) 没有找到匹配关系,所以没有什么可删除的
2) 成功找到并删除关系
3) 找到关系,但删除时出现其他错误
4)密码脚本中存在语法错误(我认为这是通过 err 值检测到的)

最佳答案

你可以同时做 DELETE 和 RETURN 所以 DELETE r RETURN COUNT(r)将删除匹配的 r,并返回已删除 r 的数量(或 RETURN r 为已删除的 r 列表)

关于neo4j - Node-Neo4j:如何检查 cypherquery 删除节点是否成功?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43850572/

相关文章:

performance - Neo4j 蓝图 vs native 遍历速度。 .

database - 在图数据库中找到某种类型的 N 个邻居

neo4j - Cypher 删除一个节点和所有相关节点(如果它们没有进一步的关系)

java - neo4j 2.0未创建节点但运行成功

mysql - Neo4j 和 mysql 数据建模

python - 在 Neomodel 中使用多个标签

docker - 从 neo4j docker 中的备份创建 neo4j 数据库

neo4j - 有没有办法使用 Cypher 为不同的关系遍历 neo4j 路径

neo4j - 从 collect 返回一个对象 (cypher/neo4j)

node.js - NodeJs - Neo4j 参数命名关系问题