Firebase Can';我不知道如何在函数中从Firestore文档中读取数据

Firebase Can';我不知道如何在函数中从Firestore文档中读取数据,firebase,flutter,dart,google-cloud-firestore,Firebase,Flutter,Dart,Google Cloud Firestore,我是一个新手,我正在尝试在扫描二维码时读取和写入Firestore文档中的数据。我已经能够将数据写入Firestore文档,但我无法找出从文档中读取数据的正确语法。我在网上看到的所有答案都使用StreamBuilder将值返回到文本视图,但我只需要在函数中使用这些值,而不需要在应用程序屏幕上显示 这是我的密码: class _MyAppState extends State<MyApp> { String result=""; Future _scanQ

我是一个新手,我正在尝试在扫描二维码时读取和写入Firestore文档中的数据。我已经能够将数据写入Firestore文档,但我无法找出从文档中读取数据的正确语法。我在网上看到的所有答案都使用StreamBuilder将值返回到文本视图,但我只需要在函数中使用这些值,而不需要在应用程序屏幕上显示

这是我的密码:

class _MyAppState extends State<MyApp> {
  String result="";

  Future _scanQR() async{
    String cameraScanResult = await scanner.scan();
    DateTime now = new DateTime.now();

    setState(() {
      result=cameraScanResult;
      
      DocumentReference document = FirebaseFirestore.instance
          .collection('coin_tracker')
          .doc(result);
      
      var num_of_uses = document.snapshots()['number_of_uses'];

      document.update({
        'checkout_date': Timestamp.fromDate(now),
        'number_of_uses': num_of_uses+1,
      });
    });

  }

您可能只想用于返回未来的一次性读取,如中所示


谢谢你的回复。当我添加“await”时,我得到警告:await表达式只能在异步函数中使用。await只能在异步函数中使用。如果不在异步函数中,则需要找到另一种方法来处理将来的异步结果。我强烈建议学习如何使用futures,以便有效地开发颤振应用程序。
'1000000001' {
'checkout_date: October 4, 2020 at 4:43:22 PM UTC-6,
'number_of_uses':0,
}
DocumentReference reference = FirebaseFirestore.instance
    .collection('coin_tracker')
    .doc("the-doc-id");
DocumentSnapshot snapshot = await reference.get();
int number_of_uses = snapshot.get("number_of_uses");