当前位置: 首页 > 知识库问答 >
问题:

Firestore随机ID

郏正信
2023-03-14

我需要创建一个Firestore文档,并在下一步中使用它的documentID。这一切都很好,但我希望应用程序脱机工作,所以我不能脱机创建文档和查询它的ID。

我认为可以将docID设置为创建docuement的DateTime对象。这样,它就不会在以后意外地重新创建和重写(因为他们需要获得毫秒的权利)。

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

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

共有1个答案

段志
2023-03-14

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

因此,您可以很好地依赖它来生成唯一的Firestore文档ID:不带任何路径调用它,并使用获得的DocumentReferenceID属性。即使这是在脱机的设备上完成的,您也可以确保Firestore文档ID是唯一的。

关于Firestore文档ID的更多细节请参见此答案。

 类似资料:
  • 例如:是Firestore中的一个集合,我在该集合中有1000名学生,我的要求是在每次调用中随机选择10名学生。

  • 问题内容: 对于我的应用程序而言,至关重要的是能够从Firebase的集合中随机选择多个文档。 由于Firebase(我知道)没有内置本机函数来实现执行此操作的查询,因此我的第一个想法是使用查询游标选择随机的起始索引和终止索引,前提是我拥有​​其中的文档数集合。 这种方法行之有效,但只能以有限的方式进行,因为每次每次文档都会与其相邻文档一起依次送达。但是,如果我能够通过其父集合中的索引选择一个文档

  • 我已经阅读了一个关于随机java的文档,swift但JS随机文档firestore我找不到,我看到这个问题还没有为JS? 迅速 JS 这是正确的吗?

  • 问题内容: 有没有什么方法可以模拟Collections.shuffle的行为,而比较器不容易受到排序算法实现的影响,从而确保结果安全? 我的意思是不违反可比合同等。 问题答案: 不打破合同就不可能实现真正的“改组比较器”。合同的一个基本方面是,结果是可 重现的, 因此必须确定特定实例的顺序。 当然,您可以使用混洗操作预先初始化该固定顺序,并创建一个比较器来精确地建立此顺序。例如 虽然没有意义。显

  • 是否有任何方法可以模拟Collections.shuffle的行为,而比较器不容易受到排序算法实现的影响,以确保结果安全? 我的意思是不违反类似的合同等..

  • 要获取随机文档,我要执行以下操作: 如果没有发现,我重复这个过程。(就像这里提到的)。 如果我有一个随机生成的Firebase ID,这将非常有效,但是由于我有Firebase Auth ID(更长),这个过程实际上不起作用,一些文档从未显示。 null 更改ID不是一个选项,我想避免为它生成一个单独的字段。