我试图只获取用户所属的组,但使用当前代码,我显示了所有现有的组。
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text("My groups"),
automaticallyImplyLeading: false,
),
body: StreamBuilder(
stream: userColeccion.doc('$userID').collection("grupos").snapshots(),
builder: (context, snapshot) {
if (snapshot.hasData) {
return Column(
children: [
Text("groups users"),
Expanded(
child: StreamBuilder(
stream: FirebaseFirestore.instance
.collection("grupos")
.snapshots(),
builder: (context, groupSnapshot) {
if (groupSnapshot.hasData) {
var groupList = (groupSnapshot.data
as QuerySnapshot<Map<String, dynamic>>)
.docs
.map((d) => Group.fromJson(d.data()))
.toList();
return ListView.builder(
itemCount: groupList.length,
itemBuilder: (context, index) {
var group = groupList[index];
return Card(
child: ListTile(
title: Text(group.namegroup),
),
);
},
);
}
return const Center(child: CircularProgressIndicator());
},
),
),
],
);
}
return const Center(child: CircularProgressIndicator());
},
),
);
}
}
当输入“users”时,你可以输入每个用户的id,在该id内有一个称为“groups”的集合,该集合存储用户所属的不同组的键,利用该键,我打算在处于“users”级别的“groups”集合中搜索,但它存储存在的组的键。
收藏品“usuarios”
收藏“grupos”
总之,我想在屏幕上只显示用户所属的组,密钥由用户存储,非常感谢您的任何帮助或解释。
2条答案
按热度按时间x4shl7ld1#
要从
grupos
获取文档,其中namegroup
等于Grupo 2
,您可以use a query:rn0zuynd2#
“UID”,isEqualTo:字段中的FirebaseAuth.instance.currentUser!. uid...还添加了当前的UID,因此应检查