我在我的 Eclipse (Helios) IDE 中运行 Google App Engine。我使用 Java 来实现。测试在 localhost:8888 本地完成。
不幸的是,我无法解决以下问题。我将实体存储在 Google 应用引擎高复制数据存储中。关键是位置,所有事件都存储为各种位置(据我所知),现在没有特殊的唯一主键。我用:
DatastoreService dss;
Key key;
Entity event;
dss = DatastoreServiceFactory.getDatastoreService();
key = KeyFactory.createKey("location", location); //location is String
event = new Entity("event", key);
event.setProperty("date", date);
event.setProperty("info", infostrg);
dss.put(event);
这工作正常。
当我尝试让所有事件发生在特定位置时,我使用以下代码:
dss = DatastoreServiceFactory.getDatastoreService();
key = KeyFactory.createKey("location", location);
aktQuery = new Query ("event", key);
aktQuery.addSort("date", Query.SortDirection.DESCENDING);
//List<Entity>
events = dss.prepare(aktQuery).asList(FetchOptions.Builder.withLimit(20));
for (Entity event : events) {
//HTTPServeletResponse only prints out for test
currentAktionen.getWriter().println(event.getProperty("date") + "," +
event.getProperty("info"));
}
它提供所有事件并在我的网络浏览器站点中打印数据。--> 有效
但我无法删除这样的事件实体。我试过:dss.delete(key),我试图在 for each 循环期间删除,...
有人知道如何通过查询以编程方式删除一个或所有事件吗?(在仪表板中删除对我没有帮助!)
非常感谢您的帮助!