golang datastore struct:保持字段唯一且必需

时间:2016-01-03 10:34:51

标签: google-app-engine go struct google-cloud-datastore

我想知道如何最好地保证字段是唯一的,如果不是,则不保存到数据存储区。它也应该是必需的。我将此字段用作stringID,并且需要它是唯一的。我知道我可以简单地尝试通过这个字段获取一个实体,看看它是否存在并围绕它建立一个逻辑。但是有一种更简单的方法,比如在你的结构中声明该字段应该是唯一的和/或必需的吗?就像下面的模型一样。

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

谢谢!

1 个答案:

答案 0 :(得分:0)

从数据存储区API:

  

默认情况下,对于struct指针,所有属性都是潜在的   索引,属性名称与字段名称相同(和   因此必须以大写字母开头)。字段可能有   datastore:"name,options"标记。标签名称是属性名称,   必须是由“。”加入的一个或多个有效Go标识符,但可以   从小写字母开始。空标签名称意味着只使用   字段名称。 “ - ”标记名称表示数据存储区将被忽略   那个领域。如果选项是“noindex”,则该字段不会   索引。如果选项为“”,则可以省略逗号。 有   没有其他公认的选择。

无法使用数据存储设置这些类型的标记。