当我使用设置数据时,Flutter Firestore 会覆盖数据

Posted

技术标签:

【中文标题】当我使用设置数据时,Flutter Firestore 会覆盖数据【英文标题】:Flutter firestore overwrites data when I use set data 【发布时间】:2018-09-22 21:33:57 【问题描述】:

我一直在尝试向我的 firestorm 数据库中的部分添加数据,我有一个集合 -> 文档 -> 数据字段。每当我使用 setData('key': 'value') 时,总是会覆盖文档中已有的数据。反正有这个吗?

【问题讨论】:

【参考方案1】:

那是因为setData(object)是用来做什么的

创建或覆盖单个文档

update(object)

在不覆盖整个文档的情况下更新文档的某些字段

所以你需要使用update()

【讨论】:

谢谢,我一定会使用的。但我发现我真正需要做的是在文档中设置一个集合。【参考方案2】:

setData() 语句中使用merge: true 可防止覆盖。 这似乎类似于update() 方法,但即使文档不存在(即正在创建),您也可以使用它。

【讨论】:

以上是关于当我使用设置数据时,Flutter Firestore 会覆盖数据的主要内容,如果未能解决你的问题,请参考以下文章

Cloud Firestore 中的每个数据更改都更新了局部变量

相同的 Flutter Web 构建使用 `dhttp` 在本地运行,但使用 `firebase serve` 或 `firebase deploy` 失败

我刚刚安装了flutter android studio和dart,但是现在当我通过简单地运行初始代码来检查我的模拟器设置时,它会显示错误

无法使用 flutter_screenutil 包设置高度和宽度

在 Flutter 中使用 Hive 数据库时我的应用程序冻结

当我转到“设置”时,Android Studio会冻结