Flutter Firestore NoSuchMethodError:方法“ get”在null上被调用

时间:2018-10-05 06:17:29

标签: firebase dart flutter google-cloud-firestore

我有一个Firestore数据库。我想知道的是如何检查此数据库中是否存在某个文档引用。我曾经使用过的代码,但是现在已经坏了。

获取参考

travelTotalReference =
        Firestore.instance.document('$_id/$_presentDate BalanceTotal');

检查数据是否存在

 travelTotalReference.get().then((dataSnapshot) {
        if (dataSnapshot.exists) {
          setState(() {
            travel = dataSnapshot.data['total'];
          });
        }else{
          setState(() {
            travel = 0;
          });
        }
      });

据我所知,该参考文献不存在。我只想确保如果可以,我可以更新旅行变量。

我得到的错误

E/flutter (17184): [ERROR:flutter/shell/common/shell.cc(181)] Dart Error: 
Unhandled exception:
E/flutter (17184): NoSuchMethodError: The method 'get' was called on null.
E/flutter (17184): Receiver: null
E/flutter (17184): Tried calling: get()
E/flutter (17184): #0      Object.noSuchMethod 
(dart:core/runtime/libobject_patch.dart:48:5)

1 个答案:

答案 0 :(得分:0)

如果您调用一个不存在的对象,您怎么能指望travelTotalReference不能为空。

自此之后调用get()返回错误,这似乎很公平...