go - 如何在谷歌数据存储中更新实体的特定字段

标签 go key google-cloud-datastore entity

我有以下结构:

type MyEntity struct {
 DSGeneratedID int64 json:"-" datastore:"-"
 Phone string json:"phone"
 Name string json:"name"
 Address string json:"address"
}

在谷歌数据存储中,我存储如下:
Name/ID:
id=5101067637358592 

Name:
Sandy

Phone:
9275939377

Address:
24, Nehru road, Chennai

说,我想更改电话号码的值。现在,如果我知道“key.id”值,我可以使用下面的代码来实现我想要的。
entity := publisher.MyEntity{
   Phone: "9472749280",
   Name: "Sandy",
   Address: "24, Nehru road, Chennai",
}
key := datastore.IDKey("Mine", **5101067637358592**, nil)

client.Put(ctx, key, &entity)

但为此,我需要这个 key 5101067637358592 。现在,如果我知道姓名、地址和旧电话号码,有没有办法获得 key /身份证?

或者如果有任何其他方法可以做到这一点,请告诉我。

最佳答案

如果您想在不知道其键的情况下查询实体,则需要能够通过该实体的其他索引字段构造查询。要唯一标识一个实体,您需要一个返回单个实体的查询。这通常使用逻辑唯一键字段来完成。例如,用户的电子邮件可以是这样一个字段。

关于go - 如何在谷歌数据存储中更新实体的特定字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59110369/

相关文章:

go - 该程序在后台监听连接并等待用户输入

go - 用于Golang中Logrus的CustomFormatter以显示文件名和行号

python - 可用于返回值:key的字典类型

google-app-engine - db.put() 操作是否还有 500 个实体限制?

json - 重命名的 JSON 字段

json - Golang : Convert to JSON. GZ 并写入文件

android - android访问下一个按钮事件

dictionary - 如何获取 TreeMap 中索引的键

java - GAE Long 太长了有没有办法让 Long ID 变短?

google-app-engine - Google App Engine 数据存储索引上限