Eclipse (Helios) IDE で Google App Engine を実行しています。実装には Java を使用します。テストは localhost:8888 でローカルに行われます。
残念ながら、次の問題を解決できません。エンティティを Google app Engine の高レプリケーション データストアに保存します。キーは場所です。すべてのイベントは、(私が理解しているように) 場所の種類として保存され、現在は特別な一意の主キーはありません。私が使う:
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"));
}
すべてのイベントを配信し、Web ブラウザー サイトにデータを出力します。--> 動作します
しかし、そのようなイベント エンティティを削除することはできません。私が試した:dss.delete(key)、for eachループ中に削除しようとしました...
1つまたはすべてのイベントをプログラムでクエリを介して削除する方法を知っている人はいますか? (ダッシュボードで削除しても役に立ちません!)
助けてくれてありがとう!