我有以下结构:
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/