gpt4 book ai didi

java - 如何从 AppEngine 数据存储中删除与查询匹配的实体?

转载 作者:太空宇宙 更新时间:2023-11-04 07:14:25 25 4
gpt4 key购买 nike

如何从数据存储中删除与查询匹配的实体?有没有办法删除一些与简单查询匹配的对象?就像“删除现在之前日期的所有对象”或者可能删除具有值 mail@mail.com 的属性 email 的所有实体?

如果可能的话,请用java提供您的答案?

最佳答案

不幸的是,Java API 不提供删除所有功能。您需要迭代查询结果,然后删除所有实体。

AsyncDatastoreService ds = DatastoreServiceFactory.getAsyncDatastoreService();

// create query for your kind
Query query = new Query("Kind");

// we don't need anything else than the key
query.setKeysOnly();

// set the filter for date before now
query.setFilter(
new FilterPredicate(
"date",
FilterOperator.LESS_THAN_OR_EQUAL,
new Date()));

PreparedQuery pq = ds.prepare(query);

// asIterable is more efficient than asList
for (Entity en : pq.asIterable()) {
// delete each entity
ds.delete(en.getKey());
}

关于java - 如何从 AppEngine 数据存储中删除与查询匹配的实体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20181778/

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