{New Flutter / Dart programmer} Есть ли простой способ получить доступ к «полям» в базе данных Firebase и установить его значение в переменную? - PullRequest
0 голосов
/ 26 марта 2020

Итак, я совершенно новый программист, в общем, пытаюсь создать приложение, в котором я сохраняю изменяемое имя пользователя как поле в базе данных Firebase. Он хранится следующим образом: Коллекция (Мой чат) - Документ (LzPiDS8sdf97slDlDFLKJ) <- userID, Поле (userPreferredName: 'Dave'). Я не могу найти простой способ получить доступ к этому параметру. Я хочу, чтобы у каждого пользователя было только 1 изменяемое имя, поэтому я не думаю, что мне нужны потоки и все эти сложные вещи (опять я новичок, извините) для доступа к нему. Я действительно просто хочу установить имя по своему выбору (например, Дэйв, который я знаю, как сделать), а затем изменить его (например, на Фила, который я знаю, как сделать) и, наконец, сделать имя-значение go в переменную, чтобы я мог отобразить ее в текстовом виджете, что я действительно не понимаю, как это сделать. Я хочу иметь возможность отображать его в этой переменной, чтобы отобразить его, но я не могу сделать так, чтобы значение поля ("Dave", скажем) go в эту переменную: </p>

Text (nameVariable , <- я не могу заставить эту переменную легко получить имя из моего поля 'userPreferredName'), </p>

Большое спасибо за помощь !! Я очень, очень ценю это!! :)

1 Ответ

0 голосов
/ 26 марта 2020

не уверен, что я полностью понимаю ваш вопрос, но вот как вы можете запросить документ, который вы упоминаете:

import 'package:cloud_firestore/cloud_firestore.dart';
QuerySnapshot querySnapshot = await Firestore.instance.collection('My chat')
.where('userID', isEqualTo: 'someId')
.getDocuments();

это вернет QuerySnapshot, давайте на секунду предположим, что есть только 1 соответствующий do c:

Map<String, dynamic> userData = querySnapshot.documents.first.data;

После этого вы можете легко получить доступ к любому полю на карте данных пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...