Go 1.11 已达到支持终止期限,将于 2026 年 1 月 31 日
弃用 。弃用后,您将无法部署 Go 1.11 应用,即使您的组织之前曾使用组织政策重新启用旧版运行时的部署也是如此。现有的 Go 1.11 应用在
弃用日期 之后将继续运行并接收流量。我们建议您
迁移到最新支持的 Go 版本 。
创建、检索、更新和删除实体
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
此 API 支持第一代运行时,并可在升级到相应的第二代运行时 后使用。如果要更新到 App Engine Go 1.12+ 运行时,请参阅迁移指南 以了解旧版捆绑服务的迁移选项。
Datastore 中的数据对象称为“实体” ,其中的每个实体都会出于查询目的而归类为特定“种类” 。例如,如果您要编写人力资源应用,则可以使用种类为 Employee
的实体表示每位员工。请注意,实体数据值采用属性 形式。如需详细了解实体,请参阅概念文档实体、属性和键 。
重要提示: 低效的数据存储区代码可能导致不必要的高昂费用!
因此,在编写代码之前,您应该了解写入费用 。
创建实体并设置属性
在 Go 中,您可以通过以下方式创建一个新实体:构造 Go 结构体的实例,填充其字段,并调用 datastore.Put
将其保存到 Datastore。只有所导出的字段(以大写字母开头)会保存到 Datastore。您可以通过将非空 stringID
参数传递给 datastore.NewKey
来指定实体的键名。
以下示例创建种类为 Employee
的实体,填充其属性值,并将其保存到 Datastore:
Employee
类型声明了该数据模型的四个属性:FirstName
、LastName
、HireDate
、AttendedHRTraining
。
未提供键名或使用 datastore.NewIncompleteKey
时,Datastore 将自动为实体的键生成数字 ID:
检索实体
如需检索由给定键标识的实体,请将 *datastore.Key
作为参数传递给 datastore.Get
函数。您可以使用 datastore.NewKey
函数生成 *datastore.Key
。
datastore.Get
将填充相应 Go 结构体的实例。
更新实体
如需更新现有实体,请修改结构体的属性,然后调用 datastore.Put
。数据将覆盖现有实体。每次调用 datastore.Put
时,整个对象都会发送到 Datastore。
注意 :Datastore API 不区分创建新实体和更新现有实体的操作。如果键表示已存在的实体,则 datastore.Put
函数会覆盖现有实体。在创建实体之前,您可以使用事务来测试是否存在具有给定键的实体。 删除实体
如果您知道实体的键,可以使用 datastore.Delete
函数删除实体:
批量删除实体
如果您需要删除大量实体,我们建议您使用 Dataflow 批量删除实体 。
使用批量操作
如果要通过单个 Datastore 调用对多个实体执行操作,可以使用以下批量操作:
以下是批量调用的示例:
批量操作不会改变费用。无论批量操作中的每个键是否存在,您都要为各个键付费。操作所涉及的实体大小不会影响费用。
注意 :调用 datastore.PutMulti
或 datastore.DeleteMulti
可能对某些实体有效,而对另一些实体无效。如果调用完全成功或完全失败非常重要,您必须使用事务 ,并且所有受影响的实体都必须属于同一实体组 。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可 获得了许可,并且代码示例已根据 Apache 2.0 许可 获得了许可。有关详情,请参阅 Google 开发者网站政策 。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-09-23。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["很难理解","hardToUnderstand","thumb-down"],["信息或示例代码不正确","incorrectInformationOrSampleCode","thumb-down"],["没有我需要的信息/示例","missingTheInformationSamplesINeed","thumb-down"],["翻译问题","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-09-23。"],[],[]]