2016-01-03 39 views
0

我想知道如何最好地保證字段是唯一的,如果不是,則不保存到數據存儲區。另外它應該是必需的。我使用這個字段作爲stringID,並且需要它是唯一的。我知道我可以簡單地試圖通過這個字段來獲得一個實體,看看它是否存在並且圍繞它建立一個邏輯。但是有沒有一種更簡單的方法,比如在你的結構中聲明該字段應該是唯一的和/或必需的?像下面的模型一樣。golang datastore結構:保持字段的唯一性和要求

type Car struct { 
    Regnr string "required" "unique" 
} 

謝謝!

+0

數據存儲不可能。但是您可以通過其他Kind解決方法:https://webapp-improved.appspot.com/_modules/webapp2_extras/appengine/auth/models.html#Unique –

+0

Okey謝謝!請看看 –

回答

0

從數據存儲API:

缺省情況下,結構的指針,所有屬性都潛在 索引,並且屬性名稱是相同的字段名(和 因此必須以大寫開始信)。字段可能有一個 datastore:"name,options"標記。標籤名稱是屬性名稱 ,它必須是一個或多個有效的Go標識符加「。」,但可能 以小寫字母開頭。空標籤名稱意味着只使用 字段名稱。 「 - 」標籤名稱表示數據存儲將忽略該字段的 。如果選項是「noindex」,那麼該字段將不會被索引爲 。如果選項是「」,那麼逗號可以省略。 還有 沒有其他公認的選項。

不可能使用Datastore設置這些類型的標籤。

+0

Okey謝謝!沒有讀過 –