这是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"}
}
});
有人知道如何做对吗?
答案 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可能会像你一样运行内部查询。可读性的差异取决于品味。