gpt4 book ai didi

firebase - Firestore - 意外读取

转载 作者:IT王子 更新时间:2023-10-29 07:11:22 25 4
gpt4 key购买 nike

伙计们,我这里确实有一个有趣的问题,如果你们中的任何人能够帮助我解决这个问题,我将非常高兴。

我的应用流程是什么:

  1. 使用电子邮件、密码和其他一些详细信息进行注册:
  2. 用户 firebase 以验证用户并通过电子邮件和密码创建帐户,同时我将用户的自定义数据写入数据库。
  3. 登录用户。

就是这样,这就是我所有的基本逻辑,而且你怎么看,据我所知,我没有从数据库中读取数据。

现在...问题是,出于某种奇怪的原因,当我注册我的用户时,我会去 firebase 控制台查看我的数据库的使用情况,我会看到类似...对于一个用户的信息创建后,我将有 1 次写入(正如我预期的那样好),还有 13-20 次从数据库中读取

现在这就是我的问题,为什么我在 firestorm 上读取,而我只进行身份验证和写入?

这是我现在正在使用的数据库代码。

class DatabaseFirebase implements BaseDataBase {
final FirebaseAuth _firebaseAuth = FirebaseAuth.instance;
final FirebaseStorage _storage = FirebaseStorage.instance;

FirebaseUser _firebaseUser;
Firestore _firestore = Firestore.instance;

@override
Future<String> login(String email, String password) async {
_firebaseUser = await _firebaseAuth.signInWithEmailAndPassword(
email: email, password: password);
return _firebaseUser.uid;
}

@override
Future<String> register(String email, String password) async {
_firebaseUser = await _firebaseAuth.createUserWithEmailAndPassword(
email: email, password: password);
return _firebaseUser.uid;
}

@override
Future<UserData> getCurrentUser() async {
if (_firebaseUser == null)
_firebaseUser = await _firebaseAuth.currentUser();
UserData user = UserData();
user.email = _firebaseUser?.email;
user.name = _firebaseUser?.displayName;
return user;
}

@override
Future<void> logout() async {
_firebaseAuth.signOut();
}

@override
Future<void> onAuthStateChanged(void Function(FirebaseUser) callback) async {
_firebaseAuth.onAuthStateChanged.listen(callback);
}

@override
Future<void> writeUser(UserData user) async {
_firestore.collection("Users").add(user.toMap()).catchError((error) {
print(error);
});
}
}

如果你们中有人知道,您能向我解释一下我需要在哪里/如何搜索才能找到这个错误吗?因为你怎么看我从来没有用过任何东西。

最佳答案

鉴于我们不了解所有可能的数据库访问路径,因此无法确定,但您应该知道使用 Firebase 控制台会导致读取。如果您在写入事件繁忙的集合/文档上让控制台保持打开状态,控制台将自动读取更新控制台显示的更改。这通常是意外读取的来源。

如果没有您正在执行的所有步骤的完整复制步骤,则无法确定。

Firebase 目前不提供跟踪文档读取来源的工具。如果您需要测量来自您的应用的特定读取,您将必须以某种方式自行跟踪。

关于firebase - Firestore - 意外读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56434008/

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