rest - Google firestore rest API:如何在事务中创建文档
问题描述
使用事务参考,我可以通过创建对象数组/列表Write
然后执行CommitRequest
.
但是我找不到在事务中创建新文档的方法?firestoreApi.projects.databases.documents.createDocument(...)
不提供有transaction
参数。Write
似乎用于更新文档而不是创建新文档。
解决方案
从事务中创建文档绝对是可能的。您首先需要使用projects.databases.documents.beginTransaction
端点开始一个新事务。使用beginTransaction
端点后,您将收到一个可以与projects.databases.documents.commit
端点一起使用的事务 ID 。该端点确实使用了一个Write
对象,但该Write
对象具有一个Precondition typecurrentDocument
的属性。Precondition 对象又具有一个名为 的属性,需要将其设置为 false 以便可以声明文档不存在。exists
设置为 true 时,目标文档必须存在。设置为 false 时,目标文档一定不存在。
这允许从事务中创建新文档,然后提交事务。
推荐阅读
- python - 功能。ValueError:使用可迭代设置时必须具有相等的 len 键和值。熊猫
- java - 未找到 ID 为 com.android.application 的插件
- python - 如何获取 tkinter 标签的用户输入?
- html - 单选按钮可以多选和标签不能显示在 1 行问题
- c# - c++和c#大值sin函数结果不同
- php - 我需要在while循环之外捕获一些值
- r - R包小插图中的方程式编号?
- amazon-web-services - 标记后未触发 AWS S3 过滤复制
- node.js - 带有 CPU 密集型 NodeJS 的 SocketIO
- service-worker - Service Worker 有时无需等待即可安装