关系查询及其行为

时间:2015-01-19 18:38:47

标签: parse-platform

我是解析新手,我喜欢它,但到目前为止,我在进行关系查询时遇到了一些问题。这是一些背景知识:

  • 我有默认的用户对象。他们的一个列是指针 一个名为Careers的对象,它包含一个posible列表 用户可以参加的大学。此列存储objectID 那个职业。

这是我的代码:

var userId //I got the user id from Parse.User.Current()
var uObj = Parse.Object.extend("User");
var uObjQuery = new Parse.Query(uObj);
uObjQuery.equalTo("objectId", userId);
uObjQuery.include("Career");
uObjQuery.first({
  success: function(object) {
    console.log(object);
  },
  error: function(error) {
    alert("Error: " + error.code + " " + error.message);
  }
});

当我看到结果时,我会得到这样的结果:

{
"Career": {
    "__type": "Pointer",
    "className": "Careers",
    "objectId": "YicXSU65Qn"
},
"email": "The user mail",
"first_name": "The user first name",
"last_name": "The user last name",
"profilePicture": "a url",
"username": "The username",
"objectId": "The user objectId",
"createdAt": "2015-01-19T08:46:35.205Z",
"updatedAt": "2015-01-19T10:42:53.098Z"
}

哪种方式有意义,但我希望得到类似连接的东西,所以我可以使用Career对象的属性。

这是否意味着我必须使用刚刚获得的数据对Career的对象进行第二次查询?

有更好的方法吗?

提前致谢。

修改:我已经纠正了uObjQuery.include("Career");的拼写错误。

Edit2:这是我应该能看到的Career对象的数据 Career Attrs

1 个答案:

答案 0 :(得分:1)

你有类型错误。您的表名是职业,而非职业。此外,您要在include方法中使用的名称是列的名称,而不是表的名称。

然后使用new Parse.Query(Parse.User);

https://parse.com/docs/js_guide#queries-relational总是有用的。