【问题标题】:How to perform Batch Writes sequentially in Firestore如何在 Firestore 中按顺序执行批量写入
【发布时间】:2020-08-17 23:31:56
【问题描述】:

我有一个如下所示的批量写入:

let newChatDocument = db.collection("chats").document()
let newMessageDocument = newChatDocument.collection("messages").document()

batch.setData(["chatName": "Test Chat"], forDocument: newChatDocument)
batch.setData(["sender": "user1", "content": "Hello!"], forDocument: newMessageDocument)
batch.commit()

我最近读到批量写入不会按顺序发生,所以我不知道批量写入的结果是什么。由于"messages" 集合是"chat" 文档的子集合,我需要先创建聊天文档。

谁能告诉我这个 Batch Write 的结果是什么(它会失败还是会成功)并给出一个小小的解释?

提前致谢!

【问题讨论】:

标签: firebase google-cloud-firestore


【解决方案1】:

由于“消息”集合是“聊天”文档的子集合,我需要先创建聊天文档。

这实际上是不正确的。在该文档下的子集合中创建文档之前,父文档不需要存在。文档不是嵌套文档的“容器”,就像文件夹在传统计算机文件系统中的工作方式一样。每个文档都与其他文档完全分开存在,它们之间没有依赖关系。

本次batch write的最终结果就是你的两个文档都创建好了,不会出现错误或者意外的结果。这应该很容易自己尝试。

【讨论】:

    猜你喜欢
    • 2021-08-21
    • 1970-01-01
    • 2020-07-28
    • 1970-01-01
    • 2010-10-21
    • 2022-07-20
    • 2021-08-31
    • 1970-01-01
    • 2020-10-11
    相关资源
    最近更新 更多