我正在使用谷歌应用引擎在我的网站上保存评论。我想通过特定的列对它们进行排序。我节省了在此列中发布评论的时间。所以数据存储区看起来像这样
id message time
name=seth good luck Jul 30, 2014 2:04:06 PM
name=henry good luck Jul 30, 2014 7:03:31 PM
现在我想按时间对实体进行排序。 我使用Java作为语言。
这就是我编写查询的方式,以便按时间给出排序结果(注释是实体名称)
Query q = new Query("comment").addSort("time", SortDirection.DESCENDING);
PreparedQuery pq = datastore.prepare(q);
这肯定不起作用。我浏览了文档,但无法找到实现这一目标的方法。任何帮助将不胜感激。
答案 0 :(得分:1)
最有可能的是,你没有做出时间"索引属性。来自文档:
查询无法找到未编入索引的属性值,也无法找到 对这些属性进行排序。有关详细信息,请参阅Datastore Indexes页面 关于无索引属性的讨论。
更新:
将它存储为String。它会将它排序为String,而不是按时间排序。您应该将其存储为Long值 - 它将为您节省大量空间并且排序将是正确的。