Firebase 在它之前获取ID';正在添加的可能会覆盖其他数据?

Firebase 在它之前获取ID';正在添加的可能会覆盖其他数据?,firebase,google-cloud-firestore,Firebase,Google Cloud Firestore,我知道我能够在添加前获得唯一ID,如下所示: DocumentReference ref = db.collection("my_collection").document(); String myId = ref.getId(); 我的问题是: 是否可能在添加生成的ID之前获取该ID会覆盖添加后的其他数据?(因为此ID可能已经生成…) 我知道两次生成相同ID的概率非常低,但仅限于一般知识。在我看来,在执行此操作时,似乎没有与数据库进行任何通信 两个用户不可能生成具有相同随机性的ID。关键是碰

我知道我能够在添加前获得唯一ID,如下所示:

DocumentReference ref = db.collection("my_collection").document();
String myId = ref.getId();
我的问题是: 是否可能在添加生成的ID之前获取该ID会覆盖添加后的其他数据?(因为此ID可能已经生成…)


我知道两次生成相同ID的概率非常低,但仅限于一般知识。在我看来,在执行此操作时,似乎没有与
数据库进行任何通信

两个用户不可能生成具有相同随机性的
ID
。关键是碰撞的可能性非常小,你可以/应该假设它们是完全唯一的

与实时数据库推送ID不同,云Firestore ID实际上完全是随机的,即使没有包含时间组件。但是请注意,此ID完全在客户机上生成,无需咨询服务器


综上所述,据我所知,从来没有人报告过重复ID的问题。

尽管有点过时,请参见:来自Firebase blog.FYI-与实时数据库ID不同,云Firestore ID实际上是完全随机的(不包括时间组件)。关键是碰撞的可能性非常小,你可以/应该假设它们是完全唯一的。这就是他们设计的目的。谢谢@MichaelLehenbauer