【问题标题】:Cloud datastore queries, where is the key?云数据存储查询,关键在哪里?
【发布时间】:2022-01-06 22:14:55
【问题描述】:

我在谷歌云数据存储中存储了一些数据。

查询数据不是问题,我可以使用迭代器并获取数据的属性。 例子; https://cloud.google.com/datastore/docs/concepts/queries#projection_queries

var priorities []int
var percents []float64
it := client.Run(ctx, query)
for {
    var task Task
    if _, err := it.Next(&task); err == iterator.Done {
            break
    } else if err != nil {
            log.Fatal(err)
    }
    priorities = append(priorities, task.Priority)
    percents = append(percents, task.PercentComplete)
}

我可以毫无问题地访问实体的属性,但不知道如何读取/访问密钥。

我如何获得钥匙?

【问题讨论】:

    标签: go google-app-engine google-cloud-datastore


    【解决方案1】:

    您可以看到here 调用Next 时迭代器返回了关联的键。在上面的示例中,不需要它,因此使用blank identifier 将其丢弃,即_, err := it.Next(&task)。如果您想要密钥,请不要丢弃它:

    for {
        var task Task
        key, err := it.Next(&task)
        if err != nil && err != iterator.Done {
             return err
        } else if err == iterator.Done {
             break
        }
        priorities = append(priorities, task.Priority)
        percents = append(percents, task.PercentComplete)
    
        // do something with key
    }
    

    【讨论】:

      猜你喜欢
      • 2014-04-28
      • 1970-01-01
      • 1970-01-01
      • 2019-01-29
      • 1970-01-01
      • 1970-01-01
      • 2018-09-14
      • 2015-11-17
      • 2012-04-11
      相关资源
      最近更新 更多