如何获得具有最新日期的实体

时间:2012-05-16 13:42:36

标签: google-app-engine google-cloud-datastore objectify

有没有人知道如何在物化中检索最后一个(最新日期)实体?我知道如何进行查询,但如何检索具有最新日期的查询?

List<Transaction> fetched2 = ofy.query(Transaction.class).filter("someproperty", somepropertyvalue).order("date").list();

我可以尝试对它进行冒泡但是我确定有一种更简单的方法。 THX

3 个答案:

答案 0 :(得分:8)

您只需在订单中的“日期”前添加减号:

List<Transaction> fetched2 = ofy.query(Transaction.class).filter("someproperty", somepropertyvalue).order("-date").list();

那应该返回一个Transaction列表,其中最新的一个位于第一个位置。

答案 1 :(得分:0)

我不知道您的用例,但如果您想要获得“新”实体(在最后一次查询后添加/更新的实体),您可能需要使用游标。它们更有效率,因为它们只获得新的/更新的实体:https://developers.google.com/appengine/docs/java/datastore/queries#Query_Cursors

答案 2 :(得分:0)

如果你想在客观化中进行排序,你应该按用户的方式排序。例如,如果您有一个表Sample,并且您想对其应用排序

升序排序 示例sample = ofy.query(Sample .class).filter(“propertyname”,“propertyvalue).order(”+ date“)。list()。first();

获取

中的第一条记录

降序排序 示例sample = ofy.query(Sample .class).filter(“propertyname”,“propertyvalue).order(”+ date“)