使用新属性更新实体

时间:2014-09-05 17:02:44

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

我在数据存储区中有100多个实体员工。实体的密钥是登录应用程序的用户名。我需要使用一些默认值向Employee实体添加新属性。 如何一次更新所有实体?我无法使用每个用户帐户登录以使用新属性更新实体。

我更喜欢使用java来做到这一点。

1 个答案:

答案 0 :(得分:0)

如果您想要的是批量更新,则不幸的是数据存储区中没有。

我建议抓取完整的Employee表,然后遍历结果,将默认值添加到新属性,然后将实体放回原处。像(可能需要一些调整,这只是我的头脑):

Query q = new Query("Employee")
PreparedQuery pq = datastore.prepare(q);

for (Entity result : pq.asIterable()) {
    result.setProperty("newProperty","default Value");
    result.put();
}

请记住更新您的模型,添加您想要的默认值。如果你不这样做,你输入的任何新数据都不具备该默认值。