Google App Engine大型IN子句查询

时间:2011-08-07 05:21:42

标签: google-app-engine jdo

我有一个具有脸谱ID的帐户实体。

有时,客户端可能会将所有facebook ID(客户Facebook朋友)发送到服务器。

我们希望选择客户提供的facebook ID中的所有帐户。

在每个facebook id上循环和调用get似乎相当慢,考虑到人们可能有1000多个朋友。此外,GAE仅限于使用IN子句的30个查询。

有没有人有过类似的情况?你是怎么处理的?

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以设置一个使用facebook ID作为键的模型,它允许您使用Model。 get_by_key_name(key_names = fb_ids)一次性获取fb_ids中带有键的所有模型。

e.g。

class FBModel(db.Model):
   account = db.ReferenceProperty(reference_class=Account)

创建模型时:

model = FBModel(key_name=fb_id)