Google app engine 如何使用google云数据存储从实体中删除属性/值

Google app engine 如何使用google云数据存储从实体中删除属性/值,google-app-engine,google-cloud-datastore,Google App Engine,Google Cloud Datastore,我正在学习google.cloud.datastore,想知道如何从实体中删除属性及其值。此外,是否可以从某类实体中删除特定属性或属性列表 我的理解是数据存储以行方式存储/操作数据(实体) 干杯您的理解是正确的,所有数据存储写入操作都发生在实体级别。因此,为了修改属性的一个或一个子集,您需要检索实体、修改属性集(或者删除属性集,如果要删除属性),然后保存实体 具体细节取决于所使用的语言和库。发件人: 要更新现有实体,请修改该实体的属性 并使用以下键将其存储: 蟒蛇 with client.tra

我正在学习
google.cloud.datastore
,想知道如何从
实体中删除属性及其值。此外,是否可以从某类
实体中删除特定属性或属性列表

我的理解是
数据存储
以行方式存储/操作数据(
实体


干杯

您的理解是正确的,所有数据存储写入操作都发生在实体级别。因此,为了修改属性的一个或一个子集,您需要检索实体、修改属性集(或者删除属性集,如果要删除属性),然后保存实体

具体细节取决于所使用的语言和库。发件人:

要更新现有实体,请修改该实体的属性 并使用以下键将其存储:

蟒蛇

with client.transaction():
    key = client.key('Task', 'sample_task')
    task = client.get(key)

    task['done'] = True

    client.put(task)
对象数据覆盖现有实体。整个对象是 发送到云数据存储。如果实体不存在,则将更新 失败。如果要更新或创建实体,请使用
upsert
as 如前所述

注意:要删除属性,请从实体中删除该属性,然后保存该实体

例如,在上面的代码片段中,删除
任务
实体的
done
属性(如果存在)的操作如下:

with client.transaction():
    key = client.key('Task', 'sample_task')
    task = client.get(key)

    if 'done' in task:
        del task['done']
        client.put(task)

如何从实体中删除属性?还是必须使用云数据存储控制台?@daiyue请参见备注:在引用中。可能类似于
unset(task['done'])
(但我不是100%确定,我不是PHP用户)