firebase - 无法理解 Firestore 批量更新 - Flutter
问题描述
阅读 Firestore 官方批量操作文档后我的理解是,批量操作执行多个操作,并且可以同时更改多个文档。
但是,当我阅读官方 Firestore 文档中的示例代码以获取更新时,它说:
var sfRef = db.collection("cities").doc("SF");
batch.update(sfRef, {"population": 1000000});
现在,我不明白为什么他们在尝试更新批次时给出了特定文档的名称。我认为批处理操作的重点是更新集合中的多个文档,那么为什么我们要给出文档的名称并将操作仅限于单个文档。
提前致谢 :)
解决方案
现在,我不明白为什么他们在尝试更新批次时给出了特定文档的名称。
需要调用每个单独的文档以批量创建、更新或删除。没有其他选择。Firesotre 不提供任何方法来批量更新多个项目作为查询的结果,类似于 SQL“更新位置”查询。如果您要批量更新多个项目,则必须:
- 执行查询以查找每个文档
- 迭代结果并收集对每个文档的引用
- 使用批处理 API 将每个文档更新添加到批处理。
推荐阅读
- azure - Azure Frontdoor - 如何隐藏后端 url 地址?
- mongodb - 为什么 express/mongodb updateOne post 允许 $set 某些值,但不会更新其他值?
- javascript - 如何在反应中为 UI 设置动画?
- python - 在python中扫描Mac上的目录时出现问题
- node.js - Stripe API无法自动扣款如何处理(Stripe API key)
- haskell - 如何打印出二维数组haskell
- flutter - 颤振获取pdf文件字符串数据到变量
- python - 在Tensorflow中,我不知道为什么我训练了一个模型,训练损失减少了,但似乎没有训练
- python - Pymysql Sql 立场有变量
- javascript - 前端Node JS的基本理解