Firestore事务写入计数问题咨询:多次写同文档及多字段更新
Firestore写入操作常见问题解答
问题1:在Firestore里,对同一文档多次执行写入操作,这些操作会被合并成单次写入吗?
得看具体场景:- 如果是单独的非事务/非批量写入:不会合并。每一次单独调用
update()或set()这类写入方法,哪怕目标是同一个文档,都会算一次独立的写入请求,消耗一次写入配额。 - 如果是用批量写入(Batch Write):对同一文档的多次写入会被合并。批量写入里针对同一文档的多个更新,最终会合并成单次写入提交,只消耗一次写入配额。
- 如果是单独的非事务/非批量写入:不会合并。每一次单独调用
问题2:在同一事务里先更新文档的
fieldA字段,之后再更新fieldB字段,提交事务时算几次写入?
只算1次写入。事务里针对同一文档的所有修改,提交时会合并成一个原子性的写入操作,最终只消耗一次Firestore写入配额。毕竟事务是原子执行的,同一文档的多次修改会被打包成一个整体更新。
内容的提问来源于stack exchange,提问作者chriskevini
相关产品推荐
相关产品推荐

