【问题标题】:Parse.com multiple relational queriesParse.com 多个关系查询
【发布时间】:2015-08-07 23:59:02
【问题描述】:

这是 parse.com 大师的问题。

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

所以我有以下类:帖子、用户、组。帖子有指向用户的指针。用户有一个指向组的指针。 我需要获取所有 POST,其中 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"} 
  }
});

有人知道怎么做吗?

【问题讨论】:

    标签: javascript parse-platform


    【解决方案1】:

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

    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 可能会像您一样运行内部查询。可读性的差异是品味问题。

    【讨论】:

    • 感谢您的解决方案!但它实际上并没有解决我的问题。我以为我只能通过对 parse.com 的单个查询来获得所需的数据
    • 我没有在问题中看到单一查询要求。我认为有一种“单一”查询的方式(见编辑),但请注意,内部查询也是查询。您可能在这里得到的更像是“源代码中的单级缩进”,而不是单个查询。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-18
    相关资源
    最近更新 更多