首页 > 解决方案 > Google firestore rest API:如何在事务中创建文档

问题描述

使用事务参考,我可以通过创建对象数组/列表Write然后执行CommitRequest.

但是我找不到在事务中创建新文档的方法?firestoreApi.projects.databases.documents.createDocument(...)不提供有transaction参数。Write似乎用于更新文档而不是创建新文档。

标签: restgoogle-cloud-platformgoogle-cloud-firestoretransactions

解决方案


从事务中创建文档绝对是可能的。您首先需要使用projects.databases.documents.beginTransaction 端点开始一个新事务。使用beginTransaction端点后,您将收到一个可以与projects.databases.documents.commit 端点一起使用的事务 ID 。该端点确实使用了一个Write对象,但该Write对象具有一个Precondition typecurrentDocument的属性。Precondition 对象又具有一个名为 的属性,需要将其设置为 false 以便可以声明文档不存在。exists

设置为 true 时,目标文档必须存在。设置为 false 时,目标文档一定不存在。

这允许从事务中创建新文档,然后提交事务。


推荐阅读