按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);
也许您可以执行任务来更新所有实体,并将创建的字符串实际转换为日期并保存。
- 仅使用XML配置的Spring RESTful Web服务
- 线程“main”中的exceptionjava.lang.UnsatisfiedLinkError:java.library.path中没有opencv_java249
- 是否可以在eclipse中更改android项目中的包名?
- exceptionjava.lang.NoClassDefFoundError:com.google.android.gms.common.AccountPicker
- AppEngine数据存储区:“具有id …的对象由不同的对象管理器管理”
- 由于“通过varargs参数的潜在堆污染”,Eclipse的“未检查”警告的行为不同。 怎么修?
- Android / Java – GoogleMaps上的自定义视图FragmentActivity未显示
- 无法打开数据库/无法将(数据库)的区域设置更改为“en_US”
- JRE包含在JDK与独立JRE之间
- 动画后移动imageview(更新位置)
- 两个新创建的对象似乎引用相同的地址