【问题标题】:How to read from FireBase flutter如何从 FireBase 颤振中读取
【发布时间】:2020-09-18 12:08:42
【问题描述】:

我不知道如何从 Firestore 中读取数据。 我尝试了不同的东西,但似乎没有什么效果很好。 有一个错误:

I/flutter (8684): Closure: () => Map from Function 'data':

final _firestore = FirebaseFirestore.instance;

  void getMessages() async {
    print('ℹ️ getMessage function running!');
    final messages = await _firestore.collection('messages').get();
    for (var message in messages.documents) {
      print('???? try to print message');
      print(message.data);
    }
  }

该功能通过按下按钮触发。它应该从数据库中下载数据。

【问题讨论】:

  • 这不是错误。

标签: firebase flutter dart google-cloud-firestore


【解决方案1】:

根据docsdata 不是getter。它是一种方法,因此如果您想要DocumentSnapshot 中的数据,则必须这样调用它。

final _firestore = FirebaseFirestore.instance;

  void getMessages() async {
    print('ℹ️ getMessage function running!');
    final messages = await _firestore.collection('messages').get();
    for (var message in messages.documents) {
      print('? try to print message');
      print(message.data());//Need .data() not .data
    }
  }

您在问题中显示的内容不是错误。它只是打印一个函数引用而不是函数返回的数据。

【讨论】:

  • 我不太清楚你的意思。
  • @PawełBrzozowski 什么不清楚?您需要调用该函数。
  • 是的,我通过按下按钮调用它。但它打印 I/flutter (8684): Closure: () => Map from Function 'data': 而不是来自 firestore 的消息。 get() 和 messages.documents 出了点问题,我不知道是什么。
  • @PawełBrzozowski 这是不正确的。仔细查看我在答案中发布的代码。特别是最后一个打印语句。我做了一个你没有做的改变。您将 data 视为一个吸气剂,而不是一个函数。
猜你喜欢
  • 2022-06-27
  • 2022-10-06
  • 1970-01-01
  • 2021-02-16
  • 1970-01-01
  • 2019-12-31
  • 2021-01-06
  • 2019-11-01
  • 2019-01-01
相关资源
最近更新 更多