数据存储 - 如果您删除了一个实体,它的实体 ID 是否有可能在将来重新用于新创建的实体?

Datastore - If you delete an entity, is it possible for it's entity id to be reused on a newly created entity in the future?

在 Google Datastore(或 Firestore)中,如果您删除一个实体,它的实体 ID 是否有可能在未来新创建的实体上重复使用?

例如:

  1. 我创建了一个具有自动分配 ID 的实体。
  2. 我删除那个实体。
  3. 将来某个时候我会创建一个具有自动分配 ID 的新实体。

是否可以为新实体分配一个以前使用过的 ID?

Is it possible the new entity could be assigned an id that was previously used?

是的,有可能,但可能性极小。在你能想象到的任何情况下(也就是essentially impossible碰撞),任意两个ID被随机生成为相等值的概率是一样的。这些 ID 不是以任何方式“保留”的——它们只是由创建它们的 SDK 随机生成的。您也可以生成自己的 ID 并获得相同的效果。

这是可能的,但您可以通过在删除后调用 reserveIds 来避免这种情况。