【发布时间】:2019-05-27 06:55:31
【问题描述】:
我想更新我的一种特定类型的数据存储中存在的每个实体的一个属性。在传统的 sql 中,我们会这样做 -
update <tablename> set <property> = <value>; {where clause is optional}
现在,如何使用 golang 代码为数据存储区做同样的事情?
【问题讨论】:
标签: google-cloud-datastore gql gqlquery
我想更新我的一种特定类型的数据存储中存在的每个实体的一个属性。在传统的 sql 中,我们会这样做 -
update <tablename> set <property> = <value>; {where clause is optional}
现在,如何使用 golang 代码为数据存储区做同样的事情?
【问题讨论】:
标签: google-cloud-datastore gql gqlquery
在 Datastore 中,您无法在不检索实体的情况下执行这样的更新。您必须拉出该类型的所有实体,更新每个实体的属性,然后重新插入现在更新的实体(最好是批量)。
Go 数据存储查询:https://cloud.google.com/datastore/docs/concepts/queries#datastore-datastore-basic-query-go
去更新实体:https://cloud.google.com/datastore/docs/concepts/entities#datastore-datastore-update-go
开始批量更新:https://cloud.google.com/datastore/docs/concepts/entities#datastore-datastore-batch-upsert-go
【讨论】: