我有 Conversation
类带有 members
的关系属性指向 User
class。
此 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();
这应该适合您
var conversationClass = Parse.Object.extend('Conversation');
var conversationQuery = new Parse.Query(conversationClass);
return conversationQuery.first()
.then(queryResult => {
var userRelationQuery = queryResult.relation('members').query(); //You can get all users releated to this conversation
//userRelationQuery.equalTo('username', 'Blank0330') // Or you can add more conditions
return userRelationQuery.find()
.then(users => {
return users; //This is your releated users
});
});
有关Parse-JS-SDK关系的更多信息