我想使用用户输入的字符串作为实体的唯一键。假设用户输入的 key 已存在于数据存储中,我想返回错误。由于golang数据存储区API只有Put,它也兼作Insert,那么强制唯一性约束的最佳方法是什么?
目前我正在尝试做...
Query(T).Filter("Key =", key)
…其中 key 是根据用户输入的值构造的,以测试是否存在重复项,但 2 个相同的键似乎使用相等 (=
) 运算符返回 false
在过滤器中,但在结果上调用 Equal
时为 true
。
如何通过Key查询?
最佳答案
您应该使用魔术常量 __key__
按键进行过滤:
Query(T).Filter("__key__ =", key)
引用文献:
我同意这有点晦涩且记录不足。
关于google-app-engine - 使用 golang 在 Appengine 数据存储区中强制执行关键唯一性的最佳方法(性能方面)是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20939981/