每个用户可以有很多问题。问题只能有一个用户。以下是正确的
Key questionKey = KeyFactory.createKey("Questions", userId);
Entity questionEntity = new Entity("Question", questionKey);
questionEntity.setProperty("questionCategory", questionCategory);
...
每个用户可以有很多问题。问题只能有一个用户。以下是正确的
Key questionKey = KeyFactory.createKey("Questions", userId);
Entity questionEntity = new Entity("Question", questionKey);
questionEntity.setProperty("questionCategory", questionCategory);
...
给定的用法是错误的。对于这个问题,您正在使用 kind 和 userid 创建密钥。这意味着相应的实体是父母的Kind="Questions"
并且id=userid
没有父母。这是错误的,一旦您对用户提出超过 1 个问题,您就会开始收到错误,因为他们都将拥有相同的密钥。
理想情况下,您需要的是对于问题实体,将其类型声明为问题并将父级声明为用户,如下所示:
1,如果使用手动生成的 id 或 name 作为问题,则:
Key questionKey = KeyFactory.createKey(userkey, "Questions", questionidorname);
2、如果使用应用引擎的自动生成id,则不需要创建key,而是创建实体为:
Entity questionEntity = new Entity("Questions",
userkey)
这里 userkey 是用户实体的键