我正在尝试确定在 GAE 的数据存储上创建可投票实体的最有效方法。我想向用户展示一个控件来投票给这个实体或一个图标,表明他们已经投票给它;即,我问“用户是否对该实体进行了投票?”假设我们有一个用户可以投票的 Question 实体。这是我正在考虑做的事情:
这是我能想到的最干净的方法,但它仍然需要两个查询。我没有为每个用户创建重复的问题实体,因为它会导致过多的数据重复。这个解决方案是处理投票和问题之间的 m2m 关系之间有效连接的好方法,还是我的思维过于相关?
最佳答案
而不是使用关系索引,只需为每个对问题投票的用户都有一个子实体。将子实体的 key_name 设为用户的 ID。然后,要确定用户 y 是否对 ID 为 x 的问题进行了投票,只需获取 key (Question:x/Vote:y)。您也可以批量处理多个问题或用户的多个实体。
关于google-app-engine - 在 GAE 上建模投票,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4249683/