为了账号安全,请及时绑定邮箱和手机立即绑定

Go API 的 KEY_RESERVED_PROPERTY 等价物是什么?数据存储

Go API 的 KEY_RESERVED_PROPERTY 等价物是什么?数据存储

Go
GCT1015 2021-09-27 20:36:08
我需要检查密钥(即用户名)是否存在。似乎KEY_RESERVED_PROPERTY 是一个可用于 java api 的特殊键,您可以使用它来实现最佳性能和强一致性,所以我想知道 Go 中是否有任何等效项。目前我正在考虑使用用户名作为祖先 + KeysOnly() 的查询。
查看完整描述

2 回答

?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

如果您查看 docsKEY_RESERVED_PROPERTY它只是一个引用键的属性:

用于引用实体键的保留属性名称。此字符串可用于按实体键本身进行过滤和排序。

所以这没什么神奇的,你可以在 Go 中用__key__属性做同样的事情,如文档中所述

关键过滤器

要过滤实体键的值,请使用特殊属性__key__

q := datastore.NewQuery("Person").Filter("__key__ >", lastSeenKey)


查看完整回答
反对 回复 2021-09-27
?
慕标5832272

TA贡献1966条经验 获得超4个赞

我需要检查密钥(即用户名)是否存在。


您也可以通过尝试使用该datastore.Get()函数按键加载实体来做到这一点。返回值ErrNoSuchEntity表示不存在具有指定键的实体:


if err := datastore.Get(c, key, dst); err == datastore.ErrNoSuchEntity {

    // Key doesn't exist

}


查看完整回答
反对 回复 2021-09-27
  • 2 回答
  • 0 关注
  • 312 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信