У меня есть Conversation
классы с атрибутом отношения members
, указывающим на User
класс.
Этот атрибут members
состоит из людей, принадлежащих к определенному разговору.
Теперь я хочу запросить, является ли данный массив указателей User
частью конкретного разговора, учитывая, что все элементы должны совпадать.
Я пытался использовать containsAll("members", users)
, но вместо этого получил undefined
.
containedIn()
работал, но он возвращал все совпадающие диалоги, в которых есть хотя бы один совпадающий User
в массиве.
equalTo("members", users)
также не работал, и обратите внимание, что переменная users
является массивом указателей, а не просто массивом строк objectId
, но я тоже пробовал это, но ни к чему не привел.
Вот что я попробовал:
* Создано И запросов, где userRelationQuery.equalTo('member', ParseUser1)
до N количество пользователей и до сих пор не работает
Вот мое решение, но вы можете исправить его для улучшения
const members = getMembers();
let query = new Parse.Query("Conversation").equalTo(
"members",
members[0]
);
for (let i = 0; i < members.length; i++) {
query = new Parse.Query("Conversation")
.matchesKeyInQuery("objectId", "objectId", query)
.equalTo(
"members",
members[i]
);
}
const chat = await query.includeAll().first();