Получить указанные c пользовательские данные из базы данных в флаттере - PullRequest
0 голосов
/ 09 апреля 2020

имя коллекции - это указанный c идентификатор пользователя. Я хочу получить данные для указанного c пользователя. Как мне это сделать. это снимок экрана моей базы данных 1 я пробовал этот код, но он возвращает только 1-ую коллекцию из-за массива


StreamBuilder(
       stream: Firestore.instance.collection("/userdata").snapshots(),
       builder: (context, snapshot) {
     gnickname = snapshot.data.documents[0]["Nickname"];
     gphotourl = snapshot.data.documents[0]["photoURL"];})    


Ответы [ 3 ]

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

Чтобы получить указанную c запись, основанную на использовании uid, в вашем случае, следующий код:

var userData = Firestore.instance.collection("/userdata").document("uid").get();

userData - это DocumentSnapshot, поэтому используйте userData.data объект для получения пары ключ / значение.

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

Для получения конкретного пользователя c вы можете попробовать:

Firestore.instance.collection('your_collection').document('your_id').snapshots()
0 голосов
/ 09 апреля 2020

Вы можете сделать это так для первой коллекции

   StreamBuilder(
           stream: Firestore.instance.collection("/userdata").snapshots(),
           builder: (context, snapshot) {
         gnickname = snapshot.data.documents.first["Nickname"];
         gphotourl = snapshot.data.documents.first["photoURL"];})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...