You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Cloud Datastore查询结果中如何获取对应实体的Key?

Google Cloud Datastore Go SDK查询时获取实体Key的方法

你现在忽略了it.Next()方法的第一个返回值,这个返回值就是你要的实体Key,直接接收即可。

修改后的示例代码:

var priorities []int
var percents []float64
var keys []*datastore.Key // 存储所有实体的Key
it := client.Run(ctx, query)
for {
    var task Task
    // 接收第一个返回值作为实体Key
    key, err := it.Next(&task)
    if err == iterator.Done {
        break
    } else if err != nil {
        log.Fatal(err)
    }
    priorities = append(priorities, task.Priority)
    percents = append(percents, task.PercentComplete)
    keys = append(keys, key) // 保存Key
}

拿到*datastore.Key类型的Key对象后,你可以直接调用它的方法获取对应属性:

  • 调用key.Kind()获取实体的Kind值
  • 如果是自定义命名的Key,调用key.Name()获取字符串类型的Key名称
  • 如果是自动生成的数值ID的Key,调用key.ID()获取int64类型的ID
  • 调用key.Parent()获取父实体的Key(如果存在的话)

内容的提问来源于stack exchange,提问作者Shane Best

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 00:15:08