firebase - Flutter firebase firestore:'path.isNotEmpty':文档路径必须是非空字符串)
问题描述
我正在尝试为我的颤振应用程序制作聊天应用程序。但是每次我尝试点击聊天时总是会出现这个错误。错误 谁能告诉我我的代码有什么问题。
readLocal() async {
prefs = await SharedPreferences.getInstance();
id = prefs.getString('id') ?? '';
if (id.hashCode <= peerId.hashCode) {
groupChatId = '$id-$peerId';
} else {
groupChatId = '$peerId-$id';
}
FirebaseFirestore.instance
.collection('users')
.doc(id)
.update({'chattingWith': peerId});
setState(() {});
}
解决方案
如果看起来您的id
变量是一个空字符串,则它不是要传递到的有效文档 ID doc()
。
鉴于您的初始化方式id
:
id = prefs.getString('id') ?? '';
似乎prefs.getString('id')
返回null。当这种情况发生时,你会想弄清楚你想做什么,但一个简单的方法是检查:
id = prefs.getString('id');
if (!id.isEmpty) {
if (id.hashCode <= peerId.hashCode) {
groupChatId = '$id-$peerId';
} else {
groupChatId = '$peerId-$id';
}
FirebaseFirestore.instance
.collection('users')
.doc(id)
.update({'chattingWith': peerId});
setState(() {});
}
推荐阅读
- python - 删除数据集中的异常值而不进行平滑处理
- javascript - 如何在模板中将正确的信息传递给 Django modal
- python - GTK - Python Treeview 列重新排序警告
- jquery - DataTable 插件 jQuery 子行
- c# - Azure AD / Microsoft.Graph C# 授权问题,但不在 Graph Explorer 中
- laravel - 将自定义组件包导入vue
- asp.net - 使用 response.redirect 发送标头参数
- css - 在 React 中从一个图像源淡化到另一个图像源
- r - R 不为 plot() 函数分配颜色
- c++ - 用户输入出现的数字