从谷歌应用引擎删除数据?

时间:2010-03-07 10:44:03

标签: google-app-engine google-cloud-datastore

我在Google App Engine中创建了一个表。我从Google App Engine中存储和检索了数据。 但我不知道如何从Google App Engine数据存储中删除数据。

3 个答案:

答案 0 :(得分:4)

应用程序可以使用模型实例或密钥从数据存储中删除实体。 model instance's delete()方法从数据存储中删除相应的实体。 delete() function获取密钥或密钥列表,并从数据存储中删除实体(或多个实体):

q = db.GqlQuery("SELECT * FROM Message WHERE msg_date < :1", earliest_date)
results = q.fetch(10)
for result in results:
    result.delete()

# or...

q = db.GqlQuery("SELECT __key__ FROM Message WHERE msg_date < :1", earliest_date)
results = q.fetch(10)
db.delete(results)

来源和进一步阅读:

如果要删除数据存储区中的所有数据,可能需要检查以下Stack Overflow帖子:

答案 1 :(得分:1)

您需要找到该实体,然后您需要将其删除。

所以在python中它将是

q = db.GqlQuery("SELECT __key__ FROM Message WHERE create_date < :1", earliest_date)
results = q.get()
db.delete(results)

或在Java中它将是

pm.deletePersistent(results);

来自应用引擎的网址

http://code.google.com/appengine/docs/java/datastore/creatinggettinganddeletingdata.html#Deleting_an_Object http://code.google.com/appengine/docs/python/datastore/creatinggettinganddeletingdata.html#Deleting_an_Entity

答案 2 :(得分:0)

在Java中

我假设您有一个端点:

Somethingendpoint endpoint = CloudEndpointUtils.updateBuilder(endpointBuilder).build();

然后:

endpoint.remove<ModelName>(long ID);