如何在Firestore集合中的所有文档中查询数组中的所有字符串?

时间:2018-12-05 19:04:43

标签: ios objective-c google-cloud-firestore

我有一个UID数组,我想查询我的root用户集合以获取包含与该数组中的每个UID相等的用户对象的文档。现在,我的代码如下:

-(void)queryFriendsOfCurrentUser{

    FIRUser *user = [[FIRAuth auth] currentUser];
    NSMutableArray *friendsUIDArray = [[NSMutableArray alloc] init];

        for (NSString *friend in friendsUIDArray){
            [[[self.db collectionWithPath:@"Users"] queryWhereField:@"uid" isEqualTo:friend] getDocumentsWithCompletion:^(FIRQuerySnapshot * _Nullable snapshot, NSError * _Nullable error) {
                if (error != nil) {
                    NSLog(@"Error getting documents: %@", error);
                } else {
                    for (FIRDocumentSnapshot *document in snapshot.documents) {

                        NSDictionary *object = document.data;
                        [self.friendArray addObject:object];
                }
            }
        }];
    }
}

在许多情况下,我的阵列可能包含20多个UID。我是否进行过多的数据库调用,将getDocuments()插入了for循环?

0 个答案:

没有答案