/ / objectifyを使用して逆ストア順でデータストアからエンティティを取得する方法 - google-app-engine、google-cloud-datastore、オブジェクト化

objectifyを使用して逆ストア順でデータストアからエンティティを取得する方法 - google-app-engine、google-cloud-datastore、オブジェクト化

私は次のエンティティを持っています:

@Entity
public class ActionIndex extends EntityObjectAutoID {

@Parent Ref<Action> action;
@Id Long id;
@Index List<Long> receivers;
....
}

データストアに追加された最新の10個のエンティティのキ​​ーを取得したい。しかし、私はこのクエリを使用する場合:

ofy().load().type(ActionIndex.class).limit(10).keys().list();

もちろん、私は最後の10の代わりに最初の10のエンティティを取得します。 Objectifyのドキュメント

このクエリがクラスに限定されている場合、@Idプロパティをソートすることができます @Parentを持たないこれは降順でのみ重要であることに注意してください ソート;デフォルトの反復はキー昇順です。

@Parentプロパティはソートできません。

私のクラスは親を持っているので(それが必要です)、余分なタイムスタンプ・プロパティを追加することなくエンティティを逆順で取得するにはどうしたらよいですか?

回答:

回答№1は0

私はそれをする方法を見つけました。キーでソートするには、 __key__ プロパティとして。フィルタリングのために、filterKeyという便利なメソッドがありますが、ソート(orderKey)と同等のものは、私が見る限り、存在しません。

ofy().load().type(ActionIndex.class).order("-__key__").limit(10).keys().list();

---編集----

以下のコメントに基づいて、Dateプロパティの使用が必須であるように見えます。