比较解析查询中的两个数组



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

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

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

query.containsAll匹配所有元素。有没有像query.containsSome这样的东西?

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

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

例如,根据关注者数组生成查询数组。在这种情况下,[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);

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

相关内容

  • 没有找到相关文章

最新更新