我正在学习google.cloud.datastore
,并且想知道如何从entity
中删除属性及其值。此外,是否可以从特定kind
的所有实体中删除特定属性或属性列表?
我的理解是datastore
以行方式(entities
)存储/操作数据?
欢呼声
答案 0 :(得分:3)
您的理解是正确的,所有数据存储区写入操作确实在实体级别发生。因此,为了修改您要检索实体的一个或一部分属性,修改属性(或删除它,如果要删除属性)设置并保存实体。
具体细节取决于所使用的语言和库。来自Updating an entity:
要
update
现有实体,请修改实体的属性 并使用密钥存储它:PYTHON
with client.transaction(): key = client.key('Task', 'sample_task') task = client.get(key) task['done'] = True client.put(task)
对象数据会覆盖现有实体。整个对象是 发送到Cloud Datastore。如果实体不存在,则更新将 失败。如果要更新或创建实体,请使用
upsert
如前所述。注意:要删除属性,请从实体中删除该属性,然后保存该实体。
在上面的代码段中,删除done
实体的task
属性(如果已存在)将按以下方式执行:
with client.transaction():
key = client.key('Task', 'sample_task')
task = client.get(key)
if 'done' in task:
del task['done']
client.put(task)