示例问题:
实体:
- 用户包含姓名和朋友列表(用户参考)
- 博客文章包含标题、内容、日期和作者(用户)
要求:
我想要一个显示用户朋友最近 10 篇文章的标题和博客链接的页面。我还希望能够继续翻阅旧条目。
SQL解决方案:
所以在 sql 领域它会是这样的:
select * from blog_post where user_id in (selectfriend_id from user_friend where user_id = :userId) 按日期排序
我能想到的 GAE 解决方案是:
- 加载用户,循环浏览朋友列表并加载他们最新的博客文章。最后合并所有博文,找到最新的10篇博文
- 在博客文章中列出所有将作者作为朋友的用户。这意味着简单的阅读,但在添加拥有大量博客文章的朋友时会导致配额超载。
我不相信这些解决方案中的任何一个都会扩展。
我确定其他人已经遇到了这个问题,但我已经搜索过、观看过 google io 视频、阅读过其他人的代码……我错过了什么?