Cloud Endpoints 在查询时计算了一个实体 属性

Cloud Endpoints calculated an Entity property at query time

如何在查询时计算实体中的 属性?

例如,如果我有一个 Post 实体并且我做了 getPost(Long postId),我希望在那个时刻通过获取计数来计算 myPost.likes 属性有多少 Like 个实体具有特定的 Post 键。

如果这不可能,我正在考虑为每个 Post 实体存储一个 Int likes 属性,每次新的 Like插入。

两者都可以。对于后者,如果您期望很多 lps(每秒喜欢),我会使用分片计数器。我会使用第一种方法,但从那时起,喜欢可以有元喜欢,创建时间,由谁等。

没有真正的查询时计算。您将不得不编写查询来自己总结喜欢的内容。在 Objectify 中,您可以在查询后使用 @OnLoad 注释为每个 post 查询它。我强烈建议您不要这样做,因为那将是对查询的每个返回 Post 的查询。您真的应该手动执行此操作,以避免在您甚至不需要时对喜欢的内容进行冗余查询。