У вас есть много вопросов, спрятанных в одном вопросе. Ниже я постараюсь ответить на столько, сколько смогу, но в будущем постараюсь придерживаться одного вопроса.
Рекомендовать одну базу данных другой - не по теме переполнения стека. Но я бы рекомендовал прочитать документацию по Firebase здесь .
Поскольку вы начали работать с Cloud Firestore, давайте сосредоточимся на этом.
Вам понадобитсяимпортировать плагин для Firestore, как вы сделали с плагином с аутентификацией. Так что-то вроде:
import 'package:cloud_firestore/cloud_firestore.dart';
Как вы обнаружили, свойства AuthResult.uid
нет. В таких случаях я рекомендую просмотреть справочную документацию для плагина , что позволяет довольно легко понять, что AuthResult.user
- это, вероятно, путь.
Так что-то вроде:
AuthResult result = await
FirebaseAuth.instance.createUserWithEmailAndPassword(email: _email,password:_password);
User user = result.user;
Не решение вопроса, который вы задаете, но, пожалуйста, используйте document(user.uid)
вместо document()
. То, что у вас теперь есть, генерирует идентификатор документа, хотя идиоматично (и намного проще) использовать UID в качестве ключа в коллекции users
.