【发布时间】:2020-09-06 15:30:09
【问题描述】:
我正在使用 Flutter。 我想首先添加数据。 如果email或者uid已经注册了,我想更新data01/02或者添加data01/02。
如何指定初始数据。
_firestore.collection('members').add({
'uid': loginUser.uid,
'email': loginUser.email,
'data01': {
'name': name,
'img_url': 'https://www.xxx.xxx/xxx.png',
'data02': {
'phone': phone,
}
}
请给我建议。
【问题讨论】:
-
您的 firebase 'members' 集合的结构如何?此代码用于添加文档。在此之前,您需要调用 Firebase 以检查您的 uid/email 是否存在于您的数据库中。因此,您可以将您的查询包装在查找匹配项的查询中。另外,我建议您使用 userId 作为文档的名称,这样每个成员都有一个文档,并且可以在联合登录时正常工作。
-
很难解释。
members结构如您所见代码。我不明白,但你的意思是我应该在文档 ID 上放置相同的 uid 吗?我不应该使用默认文档 ID? -
我明白了。你是什么意思。 stackoverflow.com/questions/53583664/…
-
是的。如果您能够修改集合的结构,那么进行的方式可能会更容易,因为用户将始终拥有一个 uid,您无需通过电子邮件查看,只需检查是否有带有 uid 的文档名称存在与否
-
但是我不明白如何从文档 ID 获取快照。请帮帮我。
标签: firebase flutter google-cloud-firestore