如何在查询时计算实体中的属性?
例如,如果我有一个Post
实体并且我getPost(Long postId)
,我希望在此时计算myPost.likes
属性,计算多少Like
其中的实体具有特定的Post
密钥。
OR
如果无法做到这一点,我正在考虑为每个Int likes
实体存储一个Post
属性,每次插入新的Like
时,我只需增加1。
答案 0 :(得分:1)
两者都有效。对于后者,如果你期望很多lps(每秒钟喜欢),我会使用分片计数器。我会使用第一种方法,但从那以后,类似的东西可以有meta,当它被创建时,由谁等等。
在查询时没有真正的计算。您必须编写查询以自己总结喜欢。在Objectify中,您可以使用@OnLoad注释在查询后查询每个帖子。我强烈建议您不要这样做,因为这将是对每个返回的查询帖子的查询。你真的应该手动这样做,以避免在你甚至不需要它们的情况下对喜欢的多余查询。