# #firebase #flutter #dart #google-cloud-firestore #firebase-authentication
Вопрос:
У меня есть кнопка, которая позволяет пользователю удалить свою учетную запись. Когда пользователи регистрируются, их электронная почта и имя сохраняются в коллекции Firestore под названием пользователи, я хочу выполнить поиск в документах коллекции, где поле uid равно текущему uid пользователя, а затем удалить этот документ. Удаление учетной записи работает, но не документа, и я не получаю никаких ошибок, я не уверен, что делаю неправильно…
CollectionReference users = FirebaseFirestore.instance.collection('users'); TextButton( onPressed: () async { try { await users .where('uid', isEqualTo: _auth.currentUser!.uid).firestore.doc(users.doc().path).delete(); await _auth.currentUser!.delete().then((value) =gt; Navigator.pushReplacement(context, MaterialPageRoute( builder: (context) =gt; const WelcomeScreen()))); } on FirebaseAuthException catch (error) { Fluttertoast.showToast( msg: error.message.toString(), gravity: ToastGravity.TOP, backgroundColor: Colors.red, textColor: Colors.white); } on FirebaseException catch (error) { Fluttertoast.showToast( msg: error.message.toString(), gravity: ToastGravity.TOP, backgroundColor: Colors.red, textColor: Colors.white); } }, child: const Text( 'Delete', style: TextStyle(color: Colors.red), ))
Комментарии:
1. пожалуйста, сообщите, какую ошибку вы получаете, это может помочь лучше понять вашу проблему
2. По какой-то причине я не получаю ошибок в отладочном терминале
3. попробуйте мой ответ, если он не сработает, дайте мне знать
Ответ №1:
У меня возникла проблема, я просто работал над своим приложением и нашел аналогичный код, так что вот решение. Просто объявите идентификатор пользователя переменной для удобства, не обязательно (необязательно), как это
final uid = _auth.currentUser!.uid; //optional
amp; затем используйте это в своем коде:-
await users.doc(uid).delete();
вместо
await users .where('uid', isEqualTo: _auth.currentUser!.uid).firestore.doc(users.doc().path).delete();
и Бум, теперь это работает как заклинание!! Надеюсь, это сработает!!
Комментарии:
1. Большое вам спасибо, это работает