当前用户如何仅访问他在子集合中的数据?
Stream<QuerySnapshot<Map<String, dynamic>>> myRide =
FirebaseFirestore.instance.collectionGroup('Requests').snapshots();
@override
Widget build(BuildContext context) {
return Scaffold(
body: StreamBuilder(
stream: myRide,
builder: (BuildContext context, AsyncSnapshot snapshot) {
return Center(
child: Text(snapshot.data['Name']),
);
}),
);
}
我也尝试过这个:
Stream<QuerySnapshot<Map<String, dynamic>>> myRide = FirebaseFirestore
.instance
.collection('ADS')
.doc(FirebaseAuth.instance.currentUser!.uid)
.collection('Requests')
.snapshots();
@override
Widget build(BuildContext context) {
return Scaffold(
body: StreamBuilder(
stream: myRide,
builder:
(BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot) {Map<String, dynamic> data = snapshot.data as Map<String, dynamic>; return Center(
child: Text(data['Driver Name']),
);
}),
);
}
但什么也没有。我需要做什么。用户如何访问他/她的子集合?
这是针对 ListView.Builder 选项的,这给了我空白屏幕。
第二个选项给我一个错误,如红色屏幕所示
Stream<QuerySnapshot<Map<String, dynamic>>> myRide = FirebaseFirestore
.instance
.collection('ADS')
.doc(FirebaseAuth.instance.currentUser!.uid)
.collection('Requests')
.snapshots();
@override
Widget build(BuildContext context) {
return Scaffold(
body: StreamBuilder(
stream: myRide,
builder:
(BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot) {
final data = snapshot.data!;
return ListView.builder(
itemCount: snapshot.data!.docs.length,
itemBuilder: (context, index) {
return Card(
child: ListTile(
onTap: () {},
title: Text(data.docs[index].get('Name')),
),
);
});
}),
);
}
stackoverflow 一直告诉我我的帖子主要是代码。所以我也必须添加这个评论。