在flutter中从实时数据库中获取信息

时间:2020-03-31 21:34:17

标签: flutter firebase-realtime-database mobile

我想知道如何从flutter的实时数据库中获取 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 个答案:

答案 0 :(得分:1)

如果您只想读取单个属性的值,则不需要循环和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块。
  • 删除循环,因为快照现在包含您要查找的确切值。

我没有运行代码,但这应该非常接近。