当用户Facebook连接到我的网站时,我想将用户的Facebook好友列表缩小到那些已经注册过我网站的人。
所以我有两个列表
最有效的方法是对所有已注册的FB用户的UID执行单个查询并在代码中执行交集吗?
如果有更多像10,000名FB用户注册的话,那么最有效的方法是什么呢?<<< 30秒?
答案 0 :(得分:5)
稍微转过头来解决问题。当用户登录时,获取他的朋友列表并将facebook数字id存储在用户对象的list属性中。 (您也可以使用索引对象...在GAE中执行扇出时查看talk by Brett Slatkin。)
像
这样的东西class User:
friend_ids = db.ListProperty()
当新用户登录时,只需对friend_ids = :id
进行查询和过滤即可。这应该为您提供现有用户的列表,他们是您当前用户的朋友。我相信其实就是你想要的。
如果您要查询的ID包含在列表中,则在列表属性上过滤的用户查询将返回用户,以防您不熟悉。文档为here。