簡體   English   中英

py2neo(Neo4j)自動增加屬性?

[英]Auto increment property with py2neo (Neo4j)?

我將py2neo的燒瓶用於我的Rest服務,我有一個帶有“用戶”標簽的用戶節點。

如何使用py2neo在neo4j中自動增加“用戶”標簽的ID?

您不應該,也可能不應該。 Neo4j已經提供了一個內部id字段,該字段是一個自動遞增的整數。 它不是節點的屬性,但是可以通過id()函數進行訪問,如下所示:

MATCH (n:Person)
RETURN id(n);

因此,無論何時創建任何節點,neo4j都會自動免費進行,而py2neo則不會。

如果您的代碼需要其他類型的標識符,則建議您使用在全局上似乎唯一的標識符,例如在python中很容易實現的UUID ,而不是自動遞增的整數。

將數字自動遞增為ID的麻煩在於,由於它們具有一種模式(自動遞增),因此人們開始依賴標識符的值,或者開始依賴對ID分配方式的期望。 在數據庫中,這幾乎總是一個壞主意。 標識符的唯一目的是使其與其他所有事物都不相同。 這並不意味着任何事情,在某些情況下甚至不能保證不發生任何變化。 避免在代碼中嵌入對任何特定值或分配方案的依賴。

這就是為什么我喜歡UUID的原因,因為它們的分配方案本質上是任意的,而且它們顯然沒有任何意義-因此,它們不會誘使設計師對其進行任何巧妙的處理。 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM