我有Conversation
类,它们的members
关系属性指向User
类。
此members
属性由属于特定对话的人组成。
现在,我想查询给定的指针数组User
是否属于特定对话的一部分,因为所有元素都必须匹配。
我尝试使用containsAll("members", users)
,但得到undefined
。
containedIn()
有效,但是它返回了所有匹配的会话,这些会话在数组中至少有一个匹配的User
。
equalTo("members", users)
的运行效果不佳,请注意,users
变量是指针数组,而不仅仅是字符串objectId
的数组,但是我也尝试了一个,但是却无济于事。
这是我尝试过的:
*创建AND查询,其中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();
答案 0 :(得分:0)
这应该为您工作
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
});
});
的更多信息