Flutter firebase firestore: 'path.isNotEmpty': 文档路径必须是非空字符串)
Flutter firebase firestore: 'path.isNotEmpty': a document path must be a non-empty string)
我正在尝试为我的 flutter 应用程序制作聊天应用程序。但是每次我尝试点击聊天时总是会出现这个错误。 The error
谁能告诉我我的代码有什么问题。
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
变量看起来是一个空字符串,这不是传递到 doc()
的有效文档 ID。
鉴于您的初始化方式 id
:
id = prefs.getString('id') ?? '';
似乎prefs.getString('id')
returns 为空。当这种情况发生时,你会想弄清楚你想做什么,但一个简单的方法是检查:
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(() {});
}
我正在尝试为我的 flutter 应用程序制作聊天应用程序。但是每次我尝试点击聊天时总是会出现这个错误。 The error 谁能告诉我我的代码有什么问题。
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
变量看起来是一个空字符串,这不是传递到 doc()
的有效文档 ID。
鉴于您的初始化方式 id
:
id = prefs.getString('id') ?? '';
似乎prefs.getString('id')
returns 为空。当这种情况发生时,你会想弄清楚你想做什么,但一个简单的方法是检查:
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(() {});
}