firebase - Flutter Firestore:通过参数更新对象数组
问题描述
我有一个包含这些参数的文件:
"rent": "text",
"leases": [
{
"id": 1,
"title": "text",
},
{
"id": 2,
"title": "text",
}
]
我向数组中添加新元素,如下所示:
.update({'leases': FieldValue.arrayUnion([newLease])});
但是我怎样才能只更新那个 id 2 呢?
解决方案
数组操作可以添加一个尚未在数组FieldValue.arrayUnion
中的项目 ( ) 或删除一个已经在数组中的项目 ( FieldValue.arrayRemove
)。无法通过索引或其他方式自动更新现有项目。
所以这意味着唯一的选择是:
- 将文档读入您的应用程序代码。
- 从中获取数组。
- 更新应用程序中的数组。
- 将整个数组写回数据库。
另见:
推荐阅读
- excel - COUNTIFS 函数跨多个工作表工作
- reactjs - 两个具有相同元素的孩子做出反应。当我尝试删除其中一个 div 时,它会同时删除
- nvidia - Kubundu 20.04 在 Intel 和 Nvidia GPU 之间切换
- python - 使用深度学习和烧瓶的聊天机器人。但机器人没有给出回应
- reactjs - 无法通过 props 导入的图片
- c - 如何将用逗号分隔的浮点值字符串存储到浮点数组中?
- java - 当我单击 android studio 中的抽屉选项时,没有任何反应
- flutter - 使用 BottomNavigationBar 后“body”不可见:BottomAppBar
- c# - 不能做迁移
- java - 我如何滥用 Java 的 MappedByteBuffer