獨特= create_or_fail
創建一個新的節點時,因爲它拋出一個4XX響應,如果重複的索引鍵/值已經存在的偉大工程的Neo4j Uniquness。
但是,如果節點已經存在和索引,需要更新的索引值,也沒有辦法(據我所知),以更新的值,如果新的值已經存在失敗。這是因爲如果新值已經存在,則添加節點到索引REST調用不會引發4xx響應。就我所見,索引的添加節點甚至不參與索引的唯一性。
一種解決方法是刪除節點,並重新添加它,但是這並不容易,因爲所有其他指標,在此節點上的關係將不得不重新創建。
另一種解決方案是將唯一參數添加到添加節點,以指數REST調用 http://docs.neo4j.org/chunked/1.9.M05/rest-api-indexes.html#rest-api-add-node-to-index
對此有什麼其他的想法?
感謝
通常唯一參數。什麼是你的具體用例?您可以使用REST的API指數的看跌期權,如果非存在的語義和如果成功刪除舊的值從指數這個節點。 – 2013-03-25 23:44:18
,如果你有一個用戶的電子郵件地址的唯一索引和用戶更新他們的地址,例如。在這種情況下,你不會想創建,因爲所有的現有關係的一個新用戶節點將不得不重新創建。什麼是好的是在插入到索引調用中具有相同的唯一性參數。這將在成功時返回200,在衝突時返回4xx。如果成功,批處理中的下一個命令將是從索引中刪除。所以就你而言,這不會是一個更新。它是插入和刪除索引值並在批處理事務中完成的。 – KanTube 2013-03-26 16:42:00