2

addFilter() が実行された後のエンティティのフィルタリングに問題があります

Google App Engine から廃止されました。

目的: UID = "rahul" を持つエンティティを一覧表示する

私が試したこと:

com.google.appengine.api.datastore.DatastoreService ds=DatastoreServiceFactory.getDatastoreService();

    Query q = new Query("Upload");
    q.setFilter(FilterOperator.EQUAL.of("UID","rahul"));
    PreparedQuery pq = ds.prepare(q);

    for (Entity result : pq.asIterable())   

       {
            String title = (String) result.getProperty("url");
            resp.getWriter().println(title);
        }

そして、これは「アップロード」エンティティのデータストア インスタンスです。

エンティティ インスタンスをデータストアにアップロード

しかし、アプリを起動すると空白のページが表示されます。

4

2 に答える 2

2

非推奨であるためaddFilter()、次のコードも使用できます。

単一のフィルタを作成するには:

query.setFilter(new Query.FilterPredicate("UID", FilterOperator.EQUAL, "rahul"));

複数のフィルタを作成するには:

すべてのフィルターを作成したら、CompositeFilter を使用してそれらを結合します。

new CompositeFilter(CompositeFilterOperator.AND, Arrays.asList(filter1, filter2)); 

次に、次のように記述して、クエリのフィルターとして設定します。

query.setFilter(composite_filter);
于 2015-12-05T18:04:43.947 に答える
0

目的の出力が得られるはずです。空白のページが表示される場合は、Google ダッシュボードまたは共有ログのログを確認してください。

于 2014-02-23T18:29:28.163 に答える