Parse.com多个关系查询

时间:2015-08-06 21:53:47

标签: javascript parse-platform

这是parse.com专家的问题。

我正在使用Parse Javascript API并尝试通过2个指针执行查询,但无法使其工作。

所以我有以下课程:帖子,用户,群组。帖子有指向用户的指针。用户有一个指向组的指针。 我需要获得所有POSTS,其中USER属于GROUP,其名称以" Admin"开头。这是我的代码不起作用:

var Posts = Parse.Object.extend("Posts");
var Users = Parse.Object.extend("Users");
var Groups = Parse.Object.extend("Groups");

var query = new Parse.Query(Posts);
var innerQueryUsers = new Parse.Query(Users);
var innerQueryGroups = new Parse.Query(Groups);
innerQueryGroups.startsWith("name", "Admin");
innerQueryUsers.matchesQuery("group", innerQueryGroups);

query.matchesQuery("user", innerQueryUsers);
query.find({
  success: function(data) {

  },
  error: function(error){
    // here i get error: {code: 102, message: "bad type for $inQuery"} 
  }
});

有人知道如何做对吗?

1 个答案:

答案 0 :(得分:0)

编辑 - 这可以通过将组查询和帖子查询与相同的用户查询相结合,在一个(未经测试的)查询中完成...

function postsInGroup(name) {
    var groupQuery = new Parse.Query("Group");
    groupQuery.equalTo("name", name);
    var userQuery = new Parse.Query(Parse.User);
    userQuery.matchesQuery("group", groupQuery);
    var postQuery = new Parse.Query("Post");
    postQuery.matchesQuery("user", userQuery);
    return postQuery.find();
}

这样称呼它......

postsInGroup("Admin").then(function(posts) {
    console.log(JSON.stringify(posts));
}, function(error) {
    console.log(JSON.stringify(error));
});

目前还不清楚这种方法与首先查询该群体之间存在哪些节省。 parse.com可能会像你一样运行内部查询。可读性的差异取决于品味。

相关问题