0

我有一个指向类Conversation的关系属性的类。membersUser

members属性由属于特定对话的人组成。

现在我想查询给定的指针数组User是否是特定对话的一部分,因为所有元素都必须匹配。

我尝试使用containsAll("members", users)但得到了undefined. 有效,但它返回了所有匹配的对话,该对话在数组 containedIn()中至少有一个匹配项。效果不佳,请注意该变量是指针数组,而不仅仅是字符串数组,但我也尝试了那个,但无处可去。UserequalTo("members", users)usersobjectId

这是我尝试过的: * 创建userRelationQuery.equalTo('member', ParseUser1)了多达 N 个用户但仍然无法工作的AND 查询

这是我的解决方案,但请随时纠正此问题以进行改进

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

1 回答 1

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

有关Parse-JS-SDK 关系的更多信息

于 2019-04-04T07:18:50.953 回答