【问题标题】:Remove entities in google cloud datastore删除谷歌云数据存储中的实体
【发布时间】:2013-09-10 09:34:36
【问题描述】:

我正在寻找通过以下方式从 Google Cloud Datastore 中删除项目的示例:

  • 钥匙
  • 亲切
  • 过滤器
  • 祖先

ps:我在这里找不到它们: https://developers.google.com/datastore/docs/concepts/queries

【问题讨论】:

  • 没有例子,因为真的不需要。基本上你得到你想要的模型,然后是model.delete()。您如何获得模型列表是查询(种类、过滤器等)的来源,但是一旦您拥有它,只需在您想要消失的模型实例上调用 delete 即可。您需要执行“仅键”查询,否则您将检索模型的数据,如果您只想删除它们,则不需要这些数据。
  • 没有 DELETE FROM KIND [WHERE X = Y] 等价物?我需要单独删除它们吗?
  • AttributeError: 'Entity' object has no attribute 'delete' 你确定你没有把我的问题误认为是应用引擎问题吗?
  • 哎呀,是的,对不起!呃……

标签: google-cloud-datastore


【解决方案1】:

Google Cloud Datastore 仅支持按键删除(通常不支持“更新查询”)。

要删除少量实体,您可以执行(仅限键)RunQuery 操作以获取键,然后执行BlindWrite 请求以删除实体。

或者,如果实体在单个实体组中,您可以使用BeginTransaction 在事务内执行整个操作来创建新事务,在查询ReadOptions 中设置transaction 句柄和@ 987654328@ 请求应用突变。

如果您要删除大量实体,可以在MapReduce 中使用上述技术。

如果您要删除特定类型的所有实体,您可以使用 App Engine 管理控制台delete entities in bulk

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多