Сравнение двух массивов в запросе разбора

Как мы узнаем, является ли какой-либо элемент массива частью другого массива в запросе?

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

То есть запрос должен совпадать, если какой-либо один или несколько элементов в followers существует в attending,

query.containsAll соответствует всем элементам. Есть ли что-то вроде query.containsSome?

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);

Это решение может быть неэффективным, если ваши последователи слишком велики. Но в любом случае я все же рекомендую использовать отношения в этом случае, поскольку вы извлекаете выгоду из обратного и можете получить из запроса пользователя, где он присутствует, как присутствующий в другом объекте.

Другие вопросы по тегам