firebase 其中In 10限制Flutter

ljsrvy3e  于 2023-01-18  发布在  Flutter
关注(0)|答案(1)|浏览(93)

我试图建立一个查询,这将有助于我为所有当前用户以下建立门票,但当列表越来越大(10以上)它给我一个错误,10是限制。下面是代码:

buildFollowingTickets() {
    if (!widget.followingList.isEmpty) {
      return FutureBuilder(
        future: userRef.where('id', whereIn: widget.followingList).get(),
        builder: (context, snapshot) {
          if (!snapshot.hasData) {
            return loading();
          }

          List<UserTicket> userFollowing = [];
          final followings = snapshot.data.docs;
          for (var following in followings) {
            final id = following.data()['id'];
            final displayName = following.data()['displayName'];
            final photoUrl = following.data()['photoUrl'];
            final UserTicket userTicket = UserTicket(
              displayName: displayName,
              photoUrl: photoUrl,
              id: id,
            );
            userFollowing.add(userTicket);
          }
          return ListView(
            children: userFollowing,
          );
        },
      );
    }
  }

WhereIn只能查找10以下的列表,我正在想办法改变这一点......提前感谢!

xdnvmnnf

xdnvmnnf1#

谢谢!我决定把它变成一个流构建器,现在它的工作-我也改变了我的数据库一点点

buildFollowersTickets() {
    if (!widget.followersList.isEmpty) {
      return StreamBuilder(
        stream: followersRef
            .doc(widget.followersId)
            .collection('userFollowers')
            .orderBy('displayName', descending: false)
            .snapshots(),
        builder: (context, snapshot) {
          if (!snapshot.hasData) {
            return loading();
          }

          List<UserTicket> userFollowers = [];
          final followers = snapshot.data.docs;
          for (var follower in followers) {
            final id = follower.data()['id'];
            final displayName = follower.data()['displayName'];
            final photoUrl = follower.data()['photoUrl'];
            final UserTicket userTicket = UserTicket(
              displayName: displayName,
              photoUrl: photoUrl,
              id: id,
            );
            userFollowers.add(userTicket);
          }
          return ListView(
            children: userFollowers,
          );
        },
      );
    }
  }

相关问题