Flutter & Firebase - 从文档中获取特定字段
Posted
技术标签:
【中文标题】Flutter & Firebase - 从文档中获取特定字段【英文标题】:Flutter & Firebase - Get a specific field from document 【发布时间】:2021-07-04 20:51:51 【问题描述】:我一直在尝试从特定文档中获取特定字段。我需要toWho的令牌。但我总是为空。我该如何解决这个问题?
主代码是
Future<String> getUserToken(String toWho) async
DocumentSnapshot _doc = await FirebaseFirestore.instance.doc("tokens/" + toWho).get();
if (_doc != null)
Map<String, dynamic> _data = _doc.data();
return _data["token"];
else
return null;
在存储库中
Future<bool> sendMessage(
MessageModel sendingMessage, UserModel currentUser) async
if (appMode == AppMode.DEBUG)
return true;
else
var _writePrcs = await _firestoreDBService.saveMessage(sendingMessage);
if (_writePrcs)
var _token = "";
if (_userToken.containsKey(sendingMessage.toWho))
_token = _userToken[sendingMessage.toWho];
print("Token lokalden geldi.");
else
_token = await _firestoreDBService.getUserToken(sendingMessage.toWho);
_userToken[sendingMessage.toWho] = _token;
print("Token veritabanından geldi.");
从现在开始感谢您的帮助
【问题讨论】:
【参考方案1】:Try ...........
Future<String> getUserToken(String toWho) async
DocumentSnapshot _doc = await
FirebaseFirestore.instance.collection("tokens/groupChatId/message").doc(toWho).get();
if (_doc != null)
Map<String, dynamic> _data = _doc.data();
return _data["token"];
else
return null;
【讨论】:
试过但得到了相同的----[ERROR:flutter/lib/ui/ui_dart_state.cc(186)] 未处理的异常:NoSuchMethodError:方法'[]'被调用为空。 E/flutter (10259): 接收者: null E/flutter (10259): 尝试调用: []("token") 发送您的 Firestore 结构的屏幕截图 添加结构 没有称为token的字段。在“消息”中以上是关于Flutter & Firebase - 从文档中获取特定字段的主要内容,如果未能解决你的问题,请参考以下文章
Flutter & Firebase:如何检查某个项目是不是存在于 Firebase 文档中的数组中
Flutter & firebase - StreamBuilder 未加载
Flutter 2 - firebase_remote_config 0.6.0 & firebase_core ^0.7.0 版本冲突
Flutter & Firebase - 从文档中获取特定字段
检查用户是不是登录 Flutter & firebase auth |
从 QuerySnapshot 和 Listview Builder (Flutter & Firebase) 中排除文档