2017-05-08 45 views
1

我正在使用node-neo4j npm模塊,並使用db.cypherquery()調用從我的節點js應用程序調用密碼查詢。我試圖刪除兩個節點之間的關係,並且我想檢測刪除是成功還是失敗。Node-Neo4j:如何檢查cypherquery刪除節點是否成功?

請參考下面的代碼片段:

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值檢測到的)

+1

你應該考慮使用[官方的neo4j Javascript driver ](https://github.com/neo4j/neo4j-javascript-driver),而不是似乎不再維護的第三方軟件包(最後一次提交大約在2年前)。 – cybersam

回答

2

你可以做DELETE和RET URN同時如此刪除r RETURN COUNT(r)會刪除匹配的r,並返回刪除的r的個數(或者返回r爲刪除r的列表)