Как получить доступ к деталям из метода во флаттере в firestore - PullRequest
0 голосов
/ 09 апреля 2020

Это детали загрузки в документ Firestore.

'uid': this._userId,
'Email': this._email,
'Fullname': this._fullname,
'Location': this._location,
'ImageUrl': this._imageurl = await uploadImage(),

Используя приведенный ниже код - если я прав - я пытаюсь получить доступ к данным текущего пользователя, используя код uid в документе.

final user = FirebaseAuth.instance.currentUser();

getData() async {
  return await Firestore.instance
      .collection('userdetails')
      .where('uid', isEqualTo: user)
      .getDocuments();
}

Теперь, когда метод возвращает документ с пользовательскими данными текущего пользователя, как я могу получить доступ к каждому из значений, отображаемых в screen.Name и URL-адресе изображения?

Ответы [ 2 ]

1 голос
/ 09 апреля 2020

Я бы не ожидал, что этот код будет работать, поскольку user - это объект FirebaseUser , а не строка UID. Возможно, вы захотите вместо этого использовать uid текущего пользователя для фильтрации результатов:

Firestore.instance
    .collection('userdetails')
    .where('uid', isEqualTo: user.uid)
    .getDocuments();
0 голосов
/ 09 апреля 2020

Вот как получить доступ к этим полям:

Firestore.instance.collection('userdetails').document(user.uid).get().then((doc) {
    _fullname = doc.data['Fullname'];
    _imageUrl = doc.data['ImageUrl'];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...