Parse.com检索自定义对象数组中的指针对象



我有一个Column as Array,我在其中存储带有指向_User实体的指针的数据:

[{
  "score": 500,
  "user":{
    "__type":"Pointer",
    "className":"_User",
    "objectId":"b80TtUfOwH"
  }
}, {
  "score": 1000,
  "user":{
    "__type":"Pointer",
    "className":"_User",
    "objectId":"b80TtRdaw"
  }
}]

我想检索整个数组作为包含,并填充用户属性(表为Team,成员为array列):

var query = new Parse.Query("Team");
query.include("members");
query.include("members.user");

我已经尝试了这些包含,用户被检测到,但没有被填充。

有可能在一个查询中做到这一点吗?,会怎样?

我想使用数组列(没有数组指针),因为它不会超过10,而且我只想要一个查询。

如果你所尝试的不起作用,那么我认为这是不可能的。

另一种选择是在云代码中执行,在那里您可以快速获取所有嵌套内容并将其格式化为单个响应。

EDIT既然我理解了这个问题。。。数组中的对象不是指针。包含指针与指针不同。include的任何巧妙的公式都无法吸引用户。

该怎么办团队成员都是人。这是一个相当普遍的事实,所以我建议将members属性更改为实际指针的数组。有了这一点,我第一次编辑时的建议就会奏效,不过,我想你已经知道了。。。

var query = new Parse.Query("Team");
query.include("members");
query.find().then(function(teams) {
    // teams will contain fully fetched users in the members property
});

但是数组对象中的其他数据应该去哪里系吗?(职业球员与球队的合同就是一个很好的例子)。"分数"听起来并不是这样的东西。我会找其他地方放它(比如放在一个记录游戏的物体里)。

通常,当ClassA与ClassB(Team->User for you)相关时,属性有三个位置:在每个类上以及它们之间的关系上。如果一个属性真的必须属于关系,那么您将需要一个ClassC,它将携带该属性。

还有一件事:即使是一个属性真的属于一个关系,你也可以经常把它骗到目标类(ClassB)中。例如,职业球员的合同可能属于他/她与球队的关系,但如果他们一次只与一支球队签订合同,你可以欺骗一点,并将其附加到球员身上。

相关内容

  • 没有找到相关文章

最新更新