Flutter DocumentSnapshot

时间:2019-04-12 13:23:53

标签: firebase dart flutter google-cloud-firestore

我正在尝试从Firebase的DocumentSnapshot中获取数据。

Firestore.instance.collection('products').document("Lucius_Malfoys_Zauberstab").get().then((DocumentSnapshot ds) {
          print(ds.exists);
        });

此方法可以正常工作并返回true,但是:

      var keys =  ["Lucius_Malfoys_Zauberstab"];


     String id =  keys[0];
     print(id); ---> prints Lucius_Malfoys_Zauberstab


     Firestore.instance.collection('products').document(id).get().then((DocumentSnapshot ds) {
      print(ds.exists);
      });

返回假...

有人知道吗,为什么会这样呢? 这只是我的应用程序中的一个小问题,但我很好奇为什么会发生这种情况。只是为了理解。谢谢!

编辑:

这是购物车集合的屏幕截图:

enter image description here

这是产品集合的屏幕截图:

enter image description here

1 个答案:

答案 0 :(得分:2)

我无法重现该问题。此时,我能做的最好的就是告诉你我做了什么:

enter image description here

false的第一次打印是在获得文档之前。然后,我创建了文档,再次运行_test,并打印了true

如果我取消对/55652643/{document}的权限,则不会达到print语句,而是会得到堆栈跟踪,表明该权限已被拒绝。