我正在尝试构建一个查询,以帮助我为所有当前关注的用户构建票证, 但是当列表越来越大(超过 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 的列表,我正在尝试找出如何更改它... 提前致谢!
答案 0 :(得分:0)
谢谢! 我决定把它改成一个流构建器,现在它可以工作了——我也稍微改变了我的数据库
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,
);
},
);
}
}