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

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

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

这是我的 Cloud Firestore 屏幕截图:

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

【问题讨论】:

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

标签: firebase flutter dart google-cloud-platform google-cloud-firestore


【解决方案1】:

根据我的问题:

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

你的答案:

好的,对于现有数据。

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

编辑:

根据你上一条评论:

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

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

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

并相应地添加数据:

receivedLoanDataRef.add(data);

【讨论】:

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