繁体   English   中英

如何更新 Google Cloud Datastore 中的数组属性值

[英]How to update array property values in Google Cloud Datastore

我在 Firestore 模式下为我的 Google App Engine 应用程序使用 Datastore。 我知道如何在 Google Cloud Datastore 中存储列表/数组属性值。 但是如何更新这些值(例如:向列表中添加新值?)我在文档中找不到示例。

这是您最初将列表属性添加到数据存储区的方式:

DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
Entity user = new Entity("User");
List<String> items = new ArrayList<String>();
user.setProperty("ItemsList", items);
datastore.put(user);

但是,如果稍后我想访问用户实体的项目列表并将项目添加到该列表中,我该怎么办?

感谢您的澄清。 现在我知道您希望能够只向该列表添加内容,而不是覆盖整个列表。

阅读 Datastore 的文档,我可以看到您不能只更新属性。

要更新现有实体,请修改先前检索到的实体的属性并使用密钥存储它

在您的情况下,您会执行诸如检索列表数据之类的操作,然后 append 新元素或更新该列表中的某些内容,然后再次更新整个列表,例如:

Entity task = Entity.newBuilder(datastore.get(user)).set("ItemsList", items).build();
datastore.update(user);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM