firebase - 我如何复合 postUid 和 Userid
问题描述
我创建了一个包含用户帖子的屏幕。主要问题是,当前用户总是看到所有帖子,但当前用户总是在卡上看到自己的名字。
例如,应用程序有来自 3 个不同用户的 3 个帖子,但是当我登录应用程序时,我在卡上看到 JUST MY NAME,但只有 1 个帖子是我的,其他不是我的。
我在底部添加了一些照片和代码:
class HomePageWidget extends StatelessWidget {
@override
Widget build(BuildContext context) => StreamBuilder(
stream: FirebaseFirestore.instance
.collectionGroup('Posts').snapshots(),
builder: (context, snapshotMsg) {
if (!snapshotMsg.hasData) {
return Center(child: CircularProgressIndicator());
} else {
return ListView.builder(
itemCount: snapshotMsg.data.documents.length,
itemBuilder: (context, index) {
if (!snapshotMsg.hasData) {
return Center(child: CircularProgressIndicator());
} else {
final dataMsg = snapshotMsg.data.documents[index];
return FutureBuilder(
future: FirebaseFirestore.instance
.collection('Users').doc(FirebaseAuth.instance.currentUser.uid).get(),
builder: (context, snapshotUser) {
if (!snapshotMsg.hasData) {
return Center(child: CircularProgressIndicator());
} else {
final dataUser = snapshotUser.data;
return Card(...)
在这里,如果我想显示用户名等。我也使用了这段代码:
Text(dataUser['username']),
解决方案
我用这段代码解决了这个问题:
FirebaseFirestore.instance.collection('Users').doc(dataMsg.reference.parent.parent.id).get(),
而已。谢谢。
推荐阅读
- sql-server - 将 XML 对象解析为行并从同级同名节点获取值 - SQL Server
- c# - 如何在 c# 中为 excel 构造函数提供可变路径?
- jmeter - 主页JMeter没有生成cookie
- java - 如何为两个数组 Json 创建 Java 类
- javascript - React:第二次点击时更新上下文
- vba - 仅从有多个文件的位置附加一个文件
- typescript - 模块解析在 vue 项目中不起作用(monorepo)
- python - 使用 Mean_Square_Error (Keras) 如何知道我的神经网络是否运行良好
- java - java.util.ConcurrentModificationException,同时通过arrayList循环
- android - 在 Spinner 中使用 LiveData