如何将数据作为子集合添加到firebase颤振中的所有用户文档?

Posted

技术标签:

【中文标题】如何将数据作为子集合添加到firebase颤振中的所有用户文档?【英文标题】:How to add data as subcollection to all user's document in firebase flutter? 【发布时间】:2021-12-12 12:38:09 【问题描述】:

这些是我的“LoanFriends”收藏中的用户:

这些是我想在每个用户内部添加的数据。

这是我的 Cloud Firestore 屏幕截图:

如何为我添加的每个用户创建不同的数据子集合? 我现在所做的导致我为不同的用户获得相同的数据,这是不对的。

【问题讨论】:

您需要为现有用户添加一个sobcollection吗?还是给新加入的人? 用户由 list.view 构建器创建。我想为每个用户添加一个子集合。我的意思是每个用户都必须有 ReceivedLoanData 和 GaveLoanData 的子集合。 好的,但是您想添加到现有数据或从现在开始的新数据中? 对不起,我是新手,我想要的是将集合“GaveLoanData”和“ReceivedLoanData”存储在每个“LoanFriends”集合的用户中。我希望我已经澄清了足够让你理解我的问题 您要为现有数据还是为新数据? 【参考方案1】:

根据我的问题:

您要为现有数据还是为新数据添加子集合?

你的答案:

好的,对于现有数据。

要解决这个问题,您必须迭代整个“LoanFriends”集合,阅读文档,并且对于找到的每个文档,您必须调用.collection('ReceivedLoanData').collection('GaveLoanData')。紧接着,链接add() 函数调用以在每个子集合的正下方添加所需的文档。

编辑:

根据你上一条评论:

如果是新数据,你能解释一下我必须做什么

然后你必须创建另一个引用:

var receivedLoanDataRef = db.collection("LoanFriends").document(docId)
                            .collection("ReceivedLoanData");

并相应地添加数据:

receivedLoanDataRef.add(data);

【讨论】:

如果是新数据,你能解释一下我必须做什么 请查看我更新的答案。现在可以了吗? 好的,新数据就是我要查找的数据,您能解释一下我如何访问每个不同 LoanFriends 文档的文档 ID。好像我创建了您提到的子集合,但是该子集合的数据,即每个文档中的数量和详细信息都相同,这很荒谬 没有看到您正在使用的整个代码,我无法提供太多帮助。所以请使用自己的MCVE 在 *** 上发布一个新问题,以便我和其他 Firebase 开发人员可以帮助您。 我去看看,如果我知道答案,我会写信给你。

以上是关于如何将数据作为子集合添加到firebase颤振中的所有用户文档?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Firebase + Firestore + Flutter 中使用 StreamBuilder 将所有子集合数据获取到 Widget

我如何在颤振中获得 Firestore 集合和子集合

如何在 Firestore 中获取生成的文档 ID,然后将子集合添加到其中?

如何从 React JS 中的 firebase 文档的所有子集合中获取数据? [复制]

如何遍历 Firestore(React 和 Firebase Web 应用程序)中的多个用户子集合?

如何使用颤振将视频添加到 Firebase 数据库