从实体中删除祖先路径

时间:2016-12-09 22:48:10

标签: java google-cloud-datastore

在Google Datastore中,我有两种实体:Parent和Child。

Parent:
  - name

Child
  - ancestor: Parent
  - name

我想使用Java Client SDK以编程方式删除子项与父项之间的链接。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

你无法真正删除链接;即您无法更新现有实体。来自 - https://cloud.google.com/datastore/docs/concepts/entities#ancestor_paths

的数据存储文档
  

实体与其父母之间的关联是永久性的,并且   创建实体后无法更改。

您必须阅读每个实体,创建一个没有父实体的新实体(基本上将所有属性复制到新实体),并删除旧实体。如果是子实体'密钥用于任何其他实体(例如Key类型的属性),您可能还需要更新这些实体。