【问题标题】:Firestore Random IDFirestore 随机 ID
【发布时间】:2021-04-12 04:00:15
【问题描述】:

我需要创建一个 Firestore 文档,并在下一步中使用它的 documentID。这一切都很好,但我希望应用离线工作,所以我无法离线创建文档并查询它的 ID。

我认为我可以将 docID 设置为创建文档的 DateTime 对象。这样它就不会被意外地重新创建和覆盖(因为他们需要得到正确的毫秒数)。

这样我可以创建文档,并在下一步中使用它的 id 创建更多文档。当我连接到互联网时,一切都会与 Firebase 同步。

有什么我遗漏的,或者这个系统会失败的任何原因吗?

【问题讨论】:

    标签: firebase flutter google-cloud-firestore


    【解决方案1】:

    这并不能确保您将拥有 uniqueId,因为其他用户在同一时刻创建文档的可能性很小,但确实存在。 要创建 uniqueid,您可以改用 Uuid 库

    【讨论】:

      【解决方案2】:

      返回DocumentReferencedoc()方法不需要客户端在线:它总是在前端本地执行而不联系后端(您会注意到因此它不是异步)。

      因此,您可以很好地依赖它来生成唯一的 Firestore 文档 ID:在没有任何路径的情况下调用它并使用您获得的 DocumentReferenceid 属性。即使这是在离线设备上完成的,您也可以确保 Firestore 文档 ID 是唯一的。


      SO answer 中有关 Firestore 文档 ID 的更多详细信息。

      【讨论】:

        猜你喜欢
        • 2020-08-07
        • 2020-03-20
        • 2021-07-02
        • 2020-11-29
        • 2021-04-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-06
        相关资源
        最近更新 更多