【发布时间】:2014-09-05 17:02:43
【问题描述】:
我在数据存储区中有 100 多个类似员工的实体。实体的键是登录应用程序的用户名。我需要使用一些默认值向 Employee 实体添加新属性。 如何一次更新所有实体?我无法使用每个用户帐户登录以使用新属性更新实体。
我更喜欢使用 java 来做到这一点。
【问题讨论】:
标签: google-app-engine google-cloud-datastore
我在数据存储区中有 100 多个类似员工的实体。实体的键是登录应用程序的用户名。我需要使用一些默认值向 Employee 实体添加新属性。 如何一次更新所有实体?我无法使用每个用户帐户登录以使用新属性更新实体。
我更喜欢使用 java 来做到这一点。
【问题讨论】:
标签: google-app-engine google-cloud-datastore
如果您想要的是大规模更新,那么很遗憾,数据存储中没有。
我建议获取完整的 Employee 表,然后遍历您的结果,将默认值添加到您的新属性,然后将实体放回原处。类似的东西(可能需要一些调整,这只是我的想法):
Query q = new Query("Employee")
PreparedQuery pq = datastore.prepare(q);
for (Entity result : pq.asIterable()) {
result.setProperty("newProperty","default Value");
result.put();
}
记得更新你的模型,添加你想要的默认值。否则,您输入的任何新数据都不会具有该默认值。
【讨论】: