如何使用 Flutter/Dart 从 Firebase 实时数据库读取数据

问题描述 投票:0回答:3

我正在使用 Flutter,我想从我的实时数据库 Firebase 检索一些数据。我的实时数据库 Firebase 中存储了以下数据:

如何从中获取每一条信息?例如,我只想得到“Tom”这个名字?

firebase flutter dart firebase-realtime-database
3个回答
1
投票

阅读firebase文档您可以看到我们如何从RTDMS firebase读取和写入数据。

  static Future<List<PostModel>> getPost() async {
    Query postsSnapshot = await FirebaseDatabase.instance
      .reference()
      .child("posts")
      .orderByKey();

    print(postsSnapshot); // to debug and see if data is returned

    List<PostModel> posts;

    Map<dynamic, dynamic> values = postsSnapshot.data.value;
    values.forEach((key, values) {
      posts.add(values);
    });

    return posts;
  }

您可以在构建小部件时或执行任何操作后调用此函数


0
投票
FirebaseDatabase.instance.ref("users").onValue.listen((event) {

 final data = 
 Map<String, dynamic>.from(event.snapshot.value as Map,);

 data.forEach((key, value) {
     log("$value");
 });
});

0
投票

如果 RTDB 中的数据是

Object
,您可以使用从结果对象到
Map?
的类型转换,然后使用 dart 集合进行转换
.map()
。这里的例子:

final resultDataRealtimeDatabase = item.value as Map?;

final Map<String, dynamic> userData = resultDataRealtimeDatabase.map((key, value) => MapEntry(key as String, value);

final userModel = UserModel.fromJson(userData);
© www.soinside.com 2019 - 2024. All rights reserved.