使用谷歌应用引擎按数据存储中的时间列排序

时间:2014-07-31 04:54:35

标签: java sorting google-app-engine google-cloud-datastore

我正在使用谷歌应用引擎在我的网站上保存评论。我想通过特定的列对它们进行排序。我节省了在此列中发布评论的时间。所以数据存储区看起来像这样

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);

这肯定不起作用。我浏览了文档,但无法找到实现这一目标的方法。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

最有可能的是,你没有做出时间"索引属性。来自文档:

  

查询无法找到未编入索引的属性值,也无法找到   对这些属性进行排序。有关详细信息,请参阅Datastore Indexes页面   关于无索引属性的讨论。

更新:

将它存储为String。它会将它排序为String,而不是按时间排序。您应该将其存储为Long值 - 它将为您节省大量空间并且排序将是正确的。