firebase - Flutter Firestore FieldValue.delete() 使我的应用程序崩溃
问题描述
当我的用户在我的应用上滑动“删除”时,我试图从 firestore 中删除某个字段。但是,每当我这样做时,我都会收到错误:
Future<void> deleteItem(
String location,
String sellerName,
String uid,
String itemName,
) async {
if (laCityList.contains(location)) {
var data = {};
data[uid] = {itemName: FieldValue.delete()};
print('THis is in data: ${data}');
await dbReference.collection('Items LA').document(location).updateData(data);
}
}
错误:
未处理的异常:类型 '_InternalLinkedHashMap<dynamic, dynamic>' 不是类型 'Map<String, dynamic>' 的子类型
或者如果我这样做:
Future<void> deleteItem(
String location,
String sellerName,
String uid,
String itemName,
) async {
if (laCityList.contains(location)) {
Map<String, dynamic> data = {};
data[uid] = {itemName: FieldValue.delete()};
print('THis is in data: ${data}');
await dbReference
.collection('Items LA')
.document(location)
.updateData(data);
}
}
错误:
失去与设备的连接
我的firestore的结构如下:
Items -> City -> {UserId: {ItemName : {ItemInformation}}
我想知道我做错了什么,很想得到你的帮助
谢谢
解决方案
推荐阅读
- python - 在 Python 中使用机器学习的离散事件概率
- javascript - 使用 Laravel PHP 上传 Reactjs 的图片
- javascript - 如何获取图像 Src 属性?
- flutter - 导航后 StreamBuilder 子更新不呈现
- mysql - 为什么 MySQL 使用了错误的索引?以及如何创建快速查询...而不需要所有可能的字段组合上的“覆盖索引”?
- javascript - 如何告诉 JetBrains IDE 这个 javascript 变量将类型更改为另一个?
- javascript - 动态生成的文件夹重定向到 htaccess 中的 Php 文件
- java - 我在邮递员中输入此代码 {"name":"upul","email":"upul@gmail.com"} 作为发布请求,
- perl - 在 Solaris 11 主机中安装 perl 版本 5.26.3 的步骤
- mysql - 如何创建需要能够每天存储相同类型数据的数据库