# #flutter #google-cloud-firestore
Вопрос:
Вот скриншот моей базы данных Firestore Идентификатор документа назван в честь идентификатора пользователя.
Ниже приведен код, который у меня есть до сих пор
Widget _inputEmail() {
return StreamBuilder<QuerySnapshot<Map<String, dynamic>>>(
stream: FirebaseFirestore.instance
.collection("users")
.snapshots(),
builder: (context, snapshot) {
return Container(
width: 355,
padding: EdgeInsets.only(bottom: 20),
child: TextFormField(
controller: _email,
decoration: InputDecoration(
hintText: 'Email',
helperText: 'Enter Email',
suffixIcon: IconButton(
icon: Icon(Icons.navigate_next),
onPressed: () {
FirebaseFirestore.instance
.collection('users')
.where('email', isEqualTo: _email)
.get()
.then((snapshot) => print(snapshot.docs[0].data()['user.uid']));
},
),
border: UnderlineInputBorder()),
),
);
}
);
Я пытаюсь добиться того, чтобы в этом текстовом поле, когда пользователь вводит электронное письмо, он показывал идентификатор документа, в котором находится это электронное письмо, чтобы я мог создать другую функцию для изменения денежных данных.
Скриншот приложения
В основном это будет меню перевода, в котором введенное электронное письмо является адресом электронной почты получателя, и после нажатия кнопки пользователь может ввести количество денег, которое он хочет перевести на целевое электронное письмо. Затем сумма денег от текущего пользователя будет переведена на счет получателя.
Извините, что спрашиваю слишком много, я все еще изучаю, как работает Firestore для проекта uni.
Комментарии:
1. Привет, текущий код не работает? Что
print(snapshot.docs[0].data()['user.uid']);
печатает?
Ответ №1:
чтобы получить идентификатор документа, используйте snapshot.docs[0].id