按GAE的日期(字符串)排序查询结果

我在GAE数据存储区中存储了数千个实体,其中字段“create”保存为日期String (标准格式)。

我的问题是 ,是否仍然可以像这样进行Query

 Query q = new Query("Post") .addSort("created", SortDirection.DESCENDING); 

其中“ created ”实际上是一个日期字符串,存储方式如下: 2014-12-11T14:31:43 -08:00"实际上是降序。我已经尝试了但是结果集是随机的而不是即使按日期排序。

有没有办法调整GAE Query来实现这一数据?

即使GAE已将日期索引为字符串,因此’2014-12- 11 T14:31:43 -08:00’出现在’2014-12-04 T14:31:43 -08:00’之后(仅举例),这意味着应遵循自然排序顺序。

你索引’创建’字段了吗? 如果没有,GAE将忽略您在查询中提供的排序顺序。

它不会那样工作。

您需要该属性为日期类型。

 import java.util.Date; Date created = new Date(); Post.setProperty("created", created); 

也许您可以执行任务来更新所有实体,并将创建的字符串实际转换为日期并保存。