【问题标题】:Is it okay to use createId() method locally when there might be a collision?当可能发生冲突时,可以在本地使用 createId() 方法吗?
【发布时间】:2018-09-05 15:30:08
【问题描述】:

AngularFire2 Firestore 有一个名为 createId() 的方法,它会在本地自动生成一个 id。

我打算将它与处理文本之外的图片的表单一起使用。

为了方便用户,一旦他或她上传图片,我将生成一个 Id,用作 Firebase 存储的参考。 (所以它与进入数据库的信息有关系)

我认为这会有所帮助,因为上传过程发生在用户提交表单之前,就像 gmail 的处理方式一样。您附加一个文件,当它上传时,提交按钮被禁用。只有当百分比为 100 时,按钮才被启用,用户才能将上述信息提交到 cloud firestore。

现在我的问题是,如果它生成一个现有的 id 怎么办?它不会替换旧数据吗?(该节点中的项目将有一个相当大量文档)

那我该如何避免呢?

感谢阅读!欢迎任何提示:)

【问题讨论】:

    标签: angular firebase google-cloud-firestore angularfire2


    【解决方案1】:

    Firestore 文档的随机 id 生成具有巨大的熵。与先前生成的随机发生碰撞的可能性非常小。如果这还不够好,您可以使用其他一些在唯一 ID 上生成更多熵的库(例如 UUID)生成具有更多随机性的自己的唯一 ID。但我怀疑 Firestore 为您生成的任何内容都会让您满意。

    【讨论】:

      猜你喜欢
      • 2017-06-29
      • 1970-01-01
      • 2019-12-15
      • 2010-09-16
      • 1970-01-01
      • 2017-07-09
      • 1970-01-01
      • 1970-01-01
      • 2013-04-17
      相关资源
      最近更新 更多