【发布时间】:2020-06-04 09:58:53
【问题描述】:
我正在尝试根据他们保存的音乐来匹配不同的用户。我有一个名为用户数据的集合,每个用户都有一个文档。在每个用户文档中,都有一个音乐收藏,每个音乐一个文档。
这是我尝试过的代码:
class FindFriendsWithSameMusicTastesMatchPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
final user = Provider.of<User>(context);
String _uid = user.uid;
String _id = "";
Query _postRef = Firestore.instance.collection('User Data/$_uid/Music');
Query _userRef = Firestore.instance.collection('User Data');
Query _userSongRef = Firestore.instance.collection('User Data/$_id/Music');
return Scaffold(
body: StreamBuilder(
stream: _postRef.snapshots(),
builder:
(BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot) {
List<String> _list = [];
snapshot.data.documents.forEach((element) {
_list.add(element.documentID);
});
return StreamBuilder(
stream: _userRef.snapshots(),
builder: (BuildContext context,
AsyncSnapshot<QuerySnapshot> snapshot) {
for (var i = 0; i < _list.length; i++) {
snapshot.data.documents.forEach((element) {
_id = element['uid'];
return StreamBuilder(
stream: _userSongRef.snapshots(),
builder: (BuildContext context,
AsyncSnapshot<QuerySnapshot> snapshot) {
if (snapshot.hasData) {
snapshot.data.documents.forEach((elementBis) {
print(elementBis.documentID);
if (elementBis.documentID == _list[i]) {
print(_id);
return Container();
} else {
return Container();
}
});
}
return Container();
});
});
}
return Container();
});
}),
);
}
}
我很乐意接受任何人的帮助。谢谢!
【问题讨论】:
-
请提供数据结构以获得帮助。
标签: android firebase flutter google-cloud-firestore