「如何查询所有的User,并返回该用户的最新三条评论?」

你好,请问是要查询 Comment 表某一个用户的最新三条评论吗?请您再详细说明下需求场景。

你好。

是这样目前需要读取User列表,每个User都要要包含最新的3个comment。是查询所有的User。

感谢你们的快速解答

我能想到的是,针对每一个User 做一次Comment 查询。这显然不现实。

读取User列表,每个User都要要包含最新的3个comment

你好,这种需求确实需要每一个User 做一次Comment 查询,为了避免数据过多可以根据需求做分页。

@xiaoxu 非常感谢。

我的处理方式是在 User 表新增一个 recentComments 字段。记录最新3次comments。也就是说 comment 的 after save hook 需要同步更新对应的 user 记录。

这是一个读取大于写入的场景,所以引入多余的user 写入换来查询的性能节省还是很超值的。要是再结合缓存,整个流程还会更高效。

希望这个方案能给其他遇到类似问题的朋友做个参考。