0

我正在创建一个Google App Engine应用程序,其中包含一种用户时间线(如 Facebook 或 Twitter),它由使用Datastore按时间顺序排序的一系列事件组成。
但是,我无法想出一些有效的方法。
在目前的解决方案中,我将实体定义为:

实体:活动:-
- ID
- 详细信息...
- ...
- 时间戳

根据时间戳,这是一种让我可以按某种排序顺序索引和获取活动的方法吗? 我正在使用Java并使用Objectify进行数据访问。

4

1 回答 1

0

规则是:如果您想使用属性进行查询/排序,则需要对其进行索引。我认为这很简单,你正在做的工作。

问题是:你还想要什么?性能是主要需求吗?(可能是因为您的应用似乎是面向用户的)。

如果您只需要记录用户活动并检索它,我可能会建议您将“活动”实体放在父实体“用户”或“用户活动”下。

  • UserActivity(键名 = 用户 ID)
    • 活动(id、详细信息、时间戳 [索引])

这样,您将能够使用您的用户 ID 运行祖先查询来检索他的所有帖子。唯一的缺点是它会限制您在此实体组上每秒写入一次(基本上是“所有用户活动”)。

于 2013-11-06T14:18:03.823 回答