有些人,我在这里确实有一个有趣的问题,如果你们中的任何一个能够帮助我,我将非常高兴。
我的应用程序流程是什么?
就是这样,这就是我所有的基本逻辑,而且据我所知,我怎么也没有从数据库中读取任何信息。
现在...问题是,由于某些奇怪的原因,当我注册用户时,我将转到Firebase控制台查看数据库的使用情况,对于一个用户,我将看到类似...的内容,创建后,我将进行1次写入(这与我预期的一样好),而且 13-20次来自数据库的读取。
现在这是我的问题,为什么,当我只做身份验证和写操作时,我在风暴中有阅读?
这是我现在正在使用的数据库代码。
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);
});
}
}
如果您认识某些人,可以向我解释在哪里/如何搜索才能找到此bug?因为你怎么看,我什么都没读。
答案 0 :(得分:2)
由于我们不了解访问数据库的所有可能途径,因此无法确定,但是您应该意识到,使用Firebase控制台会导致读取,并且如果您在忙碌的时候将控制台保持打开状态集合/文档,您将自动阅读更新控制台显示的更改。这通常是意外读取的来源。
没有您要执行的所有步骤的完整复制步骤,就无法确定。