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

Я хотел бы знать, как я могу получить значение сообщения, которое составляет 4 из базы данных в реальном времени в флаттере. Я попробовал это, и это не работает.

  Future<Query> querystats() async {
      var user = await firebaseauth.currentUser();
      _userid = user.uid;
      return FirebaseDatabase.instance.reference().child("stats").child("another");
    }

 querystats().then((query) {
      query.once().then((snapshot) async {
        var snapshot = await query.once();
        var result = snapshot.value.values as Iterable;
        for (var item in result) {
          print(item['posts']);
        }

] [2]] [2] [enter image description here] 1

1 Ответ

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

Если вы просто хотите прочитать значение одного свойства, вам не нужны l oop и Iterable.

. Это может быть что-то вроде:

var user = await firebaseauth.currentUser();
_userid = user.uid;
var query = FirebaseDatabase.instance.reference().child("stats/another/posts");
var snapshot = await query.once()
var result = snapshot.value;
print(result);

Изменения, которые я сделал:

  • Вы можете передать весь путь в child, что сохраняет некоторые символы.
  • Используйте await при вызове once(), так что вам не нужен блок then.
  • Удалите l oop, поскольку снимок теперь содержит точное значение, которое вы ищете.

I не запускал код, но это должно быть довольно близко.

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