1

我们如何确定一个数组的任何元素是否是查询中另一个数组的一部分?

var followers = []; // Array of Parse User pointers query.howTo("attending", followers); // attending is an array of User Pointers.

也就是说,如果 中的任何一个或多个元素followers存在于 中,则查询应该匹配attending

query.containsAll匹配所有元素。有没有类似的东西query.containsSome

4

1 回答 1

1

我很确定你可以查询两个数组。查看文档以更好地检查。

如果没有,您可以使用复合查询。

例如,根据关注者数组生成查询数组。在这种情况下, [forEach] 是一个更好的主意,但我假设这里有一个 for 循环。

var followers = []; //array of users var mainQuery = new Parse.Query(YourOtherObject); //for each one of followers var orQuery = new Parse.Query(YourOtherObject); orQuery.equalTo("attending", follower); mainQuery = Parse.Query.or(mainQuery, orQuery);

如果您的追随者区域太大,此解决方案可能无法执行。但无论如何,我仍然建议在这种情况下使用关系,因为您可以从逆向中受益,并且可以从用户查询中获得,他在另一个对象中出现。

于 2017-01-11T11:37:43.220 回答