使用golang在Google Cloud数据存储区中仅使用键检索特定属性

时间:2019-06-13 02:08:22

标签: go google-cloud-datastore

我的亲戚有3个实体:名字,家庭名称和电子邮件。我只想检索与该实体关联的密钥和名字。像这样在SQL中:SELECT Id,FirstName from users;

在go-lang中,我尝试像这样获取所有类型的数据

q := datastore.NewQuery(dataKind) 然后获取密钥,我这样做:

keys, err := q.GetAll(ctx, &users)

我不想获取所有属性,而只希望获取键和名字。我想知道是否可以在单个数据存储区查询中做到这一点?如前一个问题前面所述,我是go-lang和数据存储的新手。请帮助

1 个答案:

答案 0 :(得分:1)

使用Project选择单个属性。该属性必须被索引。查询不会返回未设置该属性的实体。

以下代码段仅返回设置了FristName字段的键和用户:

q := datastore.NewQuery(dataKind).Project("FirstName")
keys, err := client.GetAll(ctx, q, &users)