我正在考虑主屏幕中的 Github/Bitbucket 新闻提要。
有多个用户(数十或数千)观看多个项目(数十或数百)。每个项目都会有其最新的更新状态消息。
组合结果如下所示:
- 项目 A:问题 #3 从打开到关闭
- 项目 B:@someuser 评论了问题 #231
- 项目 C:@anotheruser 已打开问题 #1493
- 项目 B:@thirduser 评论了问题 #231
使用 SQL 时,我会考虑类似
select * from notifi where projId in (<user's watching list>)
但是对于 GAE,这是通过同时进行多个查询来实现的。这不会是有效的。而且它不适用于观看超过 30 个项目的用户(根据https://developers.google.com/appengine/docs/python/datastore/gqlreference不能同时进行超过 30 个查询)。
我怎么能实现类似的东西?