gpt4 book ai didi

firebase - Flutter Firebase 向数据库添加其他用户信息,例如地址

转载 作者:行者123 更新时间:2023-12-04 11:45:40 25 4
gpt4 key购买 nike

我目前正在使用 Flutter Firebase 来保存正在注册该应用程序的用户的详细信息。

我所做的是用户能够使用他们的电子邮件和密码进行注册。但我想知道的是如何添加其他用户信息,例如要保存的地址,以便用户在我从 Firebase 将其检索到应用程序时能够看到它。

我所做的:

AuthResult user = await 
FirebaseAuth.instance.createUserWithEmailAndPassword(email: _email,password:_password);

这会将用户电子邮件和密码保存到数据库中。

我已经尝试过以下解决方案: Flutter user registration with Firebase: Add extra user information (age, username)

我试图做的事情:
Firestore.instance.collection('users').document().setData({ 'userid': 
user.uid, 'username': _address });

而且我似乎在 Firestore 是一个未定义的名称以及 uid 未为类 'AuthResult' 定义错误。我是否缺少一些导入文件?

我只导入了:
import 'package:firebase_auth/firebase_auth.dart';

另外,我知道我必须创建一个名为 user 的表以允许将数据保存在其中,但是我使用哪个表? Cloud Firestore 还是实时数据库?

感谢所有的帮助。

最佳答案

你有很多问题隐藏在一个问题中。我将尝试在下面尽可能多地解决问题,但请尝试在将来坚持一个问题。

推荐一个数据库而不是另一个数据库是 Stack Overflow 上的题外话。但我建议阅读有关它的 Firebase 文档 here .

自从您开始使用 Cloud Firestore 以来,让我们专注于它。

您需要为 Firestore 导入插件,就像使用身份验证插件一样。所以像:

import 'package:cloud_firestore/cloud_firestore.dart';

正如您所发现的,没有 AuthResult.uid属性(property)。在这种情况下,我建议浏览 reference documentation for the plugin ,这使得很容易看到 AuthResult.user可能是要走的路。

所以像:
AuthResult result = await 
FirebaseAuth.instance.createUserWithEmailAndPassword(email: _email,password:_password);
User user = result.user;

不是您所问问题的解决方案,但请使用 document(user.uid)而不仅仅是 document() .您现在所拥有的会生成一个文档 ID,而使用 UID 作为 users 中的键是惯用的(而且更容易)。收藏。

关于firebase - Flutter Firebase 向数据库添加其他用户信息,例如地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58578381/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com