【问题标题】:How to determine a document's name based on the previous document's name in Firestore?如何根据 Firestore 中上一个文档的名称确定文档的名称?
【发布时间】:2020-07-14 11:40:38
【问题描述】:

您如何创建名称随着每次创建而增加的文档?

例如,考虑以下来自 firebase 网站的示例: https://firebase.google.com/docs/firestore/data-model#subcollections

collections_bookmark rooms

class roomA

name : "my chat room"

collections_bookmark messages

class message1

from : "alex"
msg : "Hello World!"

class message2

...

class roomB

我的问题是如何创建诸如 message1、message2、message3 等文档,以便名称中的数字随着每次创建而增加? JS 代码是什么样的?您是否通过检索所有正则表达式来匹配匹配?还是有更简单的方法?

谢谢。

【问题讨论】:

    标签: javascript firebase google-cloud-firestore


    【解决方案1】:

    firebaser 在这里

    文档中的示例仅显示了这些文档 ID,以阐明结构,而不是作为使用顺序文档 ID 的建议。使用顺序消息 ID 会对可以针对您的数据库执行的文档写入产生很大的吞吐量限制。

    强烈建议使用自动生成的文档 ID,并在每个文档中包含服务器端时间戳。然后,您可以使用 Firebase 控制台中的排序/过滤功能以您喜欢的顺序显示文档,而不会降低数据库的吞吐量。

    【讨论】:

    • 感谢您一直以来的支持,弗兰克。 Firebase 存储环境中的吞吐量是多少?我在 Wikipedia 中了解了吞吐量,但仍然有点不确定。谢谢。
    • 您的问题是关于 Cloud Firestore,不是吗? Cloud Firestore 和 Cloud Storage 是截然不同的产品。
    • 对不起,我指的是 Firestore。
    • 如果您是新手,老实说,我建议您相信我的话,因为这真的涉及很多。但归根结底,您可以在一段时间内写入 Firestore 的数据量主要取决于其磁盘的 I/O 容量。使用顺序 ID 意味着数据在磁盘上更紧密地结合在一起,而自动生成的 ID 分布得更远。后者意味着数据可能在多个磁盘上,这导致每个时间段能够写入更多数据。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-10
    • 2017-05-31
    • 1970-01-01
    • 1970-01-01
    • 2018-04-10
    相关资源
    最近更新 更多