2

のアイテムのリストを取得する必要がありdatePublished IS NOT ""ます。ただし、以下のコードは機能しません。何か案は?ありがとう

Query<Diagram> q=ofy.query(Diagram.class).filter("datePublished !=", "").order("-likes").limit(18);
4

1 に答える 1

4

GAE データストアで不等式フィルターを適用する場合、いくつかの制限があります。ここで詳細を読むことができます: https://developers.google.com/appengine/docs/java/datastore/queries

この場合、datePublished を不等式にするには、別のフィールドで注文する前に、主にその同じフィールドで注文する必要があります。

したがって、datePublished フィールドにインデックスが付けられていると仮定します。

Query<Diagram> q=ofy.query(Diagram.class).filter("datePublished !=", "").order("datePublished").order("-likes").limit(18);

これが移行の問題ではないと仮定すると、たとえば「noDatePublished」ブール値を設定するなど、このデータを保存するときに非正規化を検討することができます。

于 2013-06-22T06:12:04.790 に答える