我想使用用户输入的字符串作为实体的唯一键 . 假设用户输入已存在于数据存储区中的密钥,我想返回错误 . 由于golang数据存储区API只有Put也可以兼作Insert,因此强制执行唯一性约束的最佳方法是什么?
目前我正在努力......
Query(T).Filter("Key =", key)
...其中key是根据用户输入的值构造的,用于测试是否存在重复,但是2个相同的键似乎在过滤器中使用等号( =
)运算符返回 false
,但在结果上调用 Equal
时 true
.
我如何通过Key查询?
2 回答
您应该使用魔术常量
__key__
按键过滤:参考文献:
Java API constant values
Python documentation
我同意这有点模糊,而且记录不足 .
按键查询称为"get":https://developers.google.com/appengine/docs/go/datastore/entities#Go_Retrieving_an_entity
通过密钥相等进行查询和过滤几乎没有意义 .