gpt4 book ai didi

java - 如何使用过滤查询从应用程序引擎中删除数据

转载 作者:行者123 更新时间:2023-11-30 05:11:49 25 4
gpt4 key购买 nike

这是我的代码片段。该代码与本地开发数据存储配合得非常好。但不适用于真正的应用程序引擎。这里使用的查询过滤器仅返回 181 行。

import com.google.appengine.api.datastore.DatastoreService;
import com.google.appengine.api.datastore.DatastoreServiceFactory;
import com.google.appengine.api.datastore.Entity;
import com.google.appengine.api.datastore.FetchOptions;
import com.google.appengine.api.datastore.Key;
import com.google.appengine.api.datastore.Query;
import com.google.appengine.api.datastore.Query.FilterOperator;
Query query = new Query("Share");
query.addFilter("timeOfData", FilterOperator.GREATER_THAN, sdf.parse(date));
query.setKeysOnly();
ArrayList<Key> allKeys = new ArrayList<Key>();
if(numberOfRowsToBedeletedAtOnceString != null)
numberOfRowsToBedeletedAtOnce = Integer.parseInt(numberOfRowsToBedeletedAtOnceString);
for (final Entity e : dcc.prepare(query).asIterable(FetchOptions.Builder.withLimit(numberOfRowsToBedeletedAtOnce)))
{
allKeys.add(e.getKey());
}

allKeys.trimToSize();
dcc.delete(allKeys);
out.print("Deleted By Date count : " + allKeys.size());
out.flush();
out.close();

最佳答案

正如谷歌文档建议的那样,您可以使用按查询删除实体

Query query = pm.newQuery(Person.class); 
query.setFilter("height > maxHeightParam");
query.declareParameters("int maxHeightParam");
query.deletePersistentAll(maxHeight);

检查here

关于java - 如何使用过滤查询从应用程序引擎中删除数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3096803/

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