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 的查询。您真的应该手动执行此操作,以避免在您甚至不需要时对喜欢的内容进行冗余查询。
如何在查询时计算实体中的 属性?
例如,如果我有一个 Post
实体并且我做了 getPost(Long postId)
,我希望在那个时刻通过获取计数来计算 myPost.likes
属性有多少 Like
个实体具有特定的 Post
键。
或
如果这不可能,我正在考虑为每个 Post
实体存储一个 Int likes
属性,每次新的 Like
插入。
两者都可以。对于后者,如果您期望很多 lps(每秒喜欢),我会使用分片计数器。我会使用第一种方法,但从那时起,喜欢可以有元喜欢,创建时间,由谁等。
没有真正的查询时计算。您将不得不编写查询来自己总结喜欢的内容。在 Objectify 中,您可以在查询后使用 @OnLoad 注释为每个 post 查询它。我强烈建议您不要这样做,因为那将是对查询的每个返回 Post 的查询。您真的应该手动执行此操作,以避免在您甚至不需要时对喜欢的内容进行冗余查询。