【问题标题】:Flutter Firesbase is returning NullFlutter Firebase 返回 Null
【发布时间】:2021-09-28 07:32:51
【问题描述】:
final db = FirebaseFirestore.instance.collection('dutyStatus');

Future<void> readOnDutyStatus() async {
//The function is being called in the authentication bloc
try {
  List status = [];
  // await db.add({'onDuty': true});
  var data = await db.doc('driver1').get();
  var temp = data.data();
  status.add(temp);
  print(
      '_______________________________________________________________________________________');
  print(status.toString());
  print(
      '_______________________________________________________________________________________');
} catch (e) {
  print(e);
}

}

结果: 我/颤振(25466):_______________________________________________________________________________

我/颤振(25466):[null]

我/颤振 (25466):_______________________________________________________________________________

W/er_drive_mobil(25466):访问隐藏方法 Lsun/misc/Unsafe;->putObject(Ljava/lang/Object;JLjava/lang/Object;)V(灰名单,链接,允许) W/er_drive_mobil(25466):访问隐藏方法 Lsun/misc/Unsafe;->putInt(Ljava/lang/Object;JI)V(灰名单,链接,允许)

注意:在另一个 firebase 帐户上使用相同的代码时,可以按预期工作,但我似乎无法找出问题所在。

【问题讨论】:

  • 什么是“driver1”?这是您的文档 ID 参考吗?您的“driver1”在 Firebase 中的外观如何?请附上截图
  • 我是堆栈溢出的新手,所以我无法上传屏幕截图。 driver1 是具有 {onDuty: true} 值对的文档名称。
  • 图片链接,包含driver1的结构

标签: firebase flutter google-cloud-firestore


【解决方案1】:

很可能 driver1 不存在。

试试这个

var temp =  data.exists ? data.data() : "Doc does not exist";
  

打印列表应该返回[Doc does not exist]而不是null。

检查 driver1 之前是否有空格,即 _driver1 或之后。否则没有其他解释。

【讨论】:

  • 是的,这会打印 [Doc does not exist],但它在 firebase 中。
  • 检查driver1之前或之后是否有空格。否则没有其他解释。
  • 是的,有一个空格解决了这个问题,感谢您的帮助
  • 不客气,请考虑将其标记为您帖子的正确答案。
猜你喜欢
  • 2021-01-28
  • 2020-06-24
  • 2021-06-07
  • 2018-10-30
  • 2019-08-05
  • 2021-01-10
  • 2020-08-23
  • 2020-11-10
  • 2020-07-12
相关资源
最近更新 更多