Flutter Firestore:通过参数更新对象数组
Posted
技术标签:
【中文标题】Flutter Firestore:通过参数更新对象数组【英文标题】:Flutter Firestore: update array of object by param 【发布时间】:2021-08-22 13:20:07 【问题描述】:我有一个包含这些参数的文档:
"rent": "text",
"leases": [
"id": 1,
"title": "text",
,
"id": 2,
"title": "text",
]
我像这样向数组中添加新元素:
.update('leases': FieldValue.arrayUnion([newLease]));
但我怎样才能只更新那个 id 2?
【问题讨论】:
【参考方案1】:数组操作可以添加尚未在数组中的项目 (FieldValue.arrayUnion
) 或删除已在数组中的项目 (FieldValue.arrayRemove
)。无法通过索引或其他方式自动更新现有项目。
这意味着唯一的选择是:
-
将文档读入您的应用程序代码。
从中获取数组。
更新应用程序中的数组。
将整个数组写回数据库。
另见:
How can I update map data that's in a array in firebase? (Flutter) Flutter: Update specific index in list (Firestore) how to edit an array element present in firestore【讨论】:
以上是关于Flutter Firestore:通过参数更新对象数组的主要内容,如果未能解决你的问题,请参考以下文章
更新 Firestore 中 Array 的 Map 数据 - Flutter
在 Flutter 中更新 firestore 后,项目无法编译
如何使用flutter更新firestore中所有文档的单个字段?