gpt4 book ai didi

java - 列出 Google 数据存储中除保留类型之外的所有类型 (java)

转载 作者:行者123 更新时间:2023-12-02 12:23:29 24 4
gpt4 key购买 nike

在 Appengine (java) 中,我可以使用此代码列出数据存储区的所有实体,以便稍后删除它们。问题是我在日志中收到很多 The kind "__XXX_Kind__"is returned. ,所以我想要一种方法来检索未保留的种类下的所有实体。

这可能吗?

do {
FetchOptions options = FetchOptions.Builder.withLimit(100);
if(cursor != null) {
options.startCursor(cursor);
}
QueryResultList<Entity> results = pq.asQueryResultList(options);
if(results.size() > 0) {
for (Entity result : results) {
try {
datastore.delete(result.getKey());
} catch (Exception e) {
log.warning(e.getMessage());
}
}
cursor = results.getCursor();
} else {
cursor = null;
}
} while(cursor != null);

最佳答案

您应该能够从元数据中获取所有种类。使用 GQL,您可以运行以下查询来列出所有种类:

SELECT __key__ FROM __kind__ ORDER BY __key__

这将返回所有种类,包括任何系统种类;种类以双下划线开头(例如__Stat_Kind__)。

在迭代上述查询的结果时,只需排除系统类型,然后对每种类型运行删除来进行清理。

根据您使用的 API,如果它不支持 GQL,请使用等效的查询生成器并运行它。

看看这个 AppEngine Datastore documentation

关于java - 列出 Google 数据存储中除保留类型之外的所有类型 (java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45616906/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com