我见过类似问题的例子。但是,请允许我提出更具体的问题,我想证实我的理解。
我的问题:
对于db.Key的ListProperty,如果我能预测到我想要存储的最大键数,那么我 NOT 超过多少来存储在db.Key的ListProperty中到ReferencedProperty? [一般问题]因为App Engine页面在哪里说不清楚,
另一个更重要的一点是你想避免过度存储 ListProperty
中的大键列表
让我们说,有些用户可以关注餐厅的活动信息。因此,用户可以将他们想要的餐馆添加到他们喜欢的列表中。有用户模型和餐厅模型。那么,我相信任何用户都不会关注超过30家餐厅?这使得db.Key的ListProperty成为理想的解决方案吗?
答案 0 :(得分:2)
这里的考虑有些模糊 - 没有硬限制,除了总(编码)实体不得大于1 MB。 30键完全没问题。 100还可以。在500-1000我开始担心。 10,000,你可能会超过1 MB的限制。
另一个考虑因素是,如果您希望一次一个地添加密钥(每次读取和写入实体),您最终会进入O(N ** 2)的土地,这将使您的更新开始真正爬行慢慢地,可能在100到1000个钥匙之间。
这些注意事项对于所有ListProperties都是相同的 - 键不是特别的(您提供的引用恰好来自专注于ListProperty(db.key)
的文章。)