在 MySQL 中,我使用自动增量为每个用户生成一个 id。我想在 Google 数据存储中创建一个类似的用户表,其中用户的 id 是唯一的。根据这些文档:https://cloud.google.com/appengine/docs/java/datastore/entities
System-allocated ID values are guaranteed unique to the entity group.
但根据这篇文章:Ever see duplicate IDs when using Google App Engine and ndb? id 不是唯一的。我需要这个 id 是唯一的。这很令人困惑,因为在文档中它说 id 是唯一的,但从这篇文章中它说 id 不是唯一的,而是唯一的键。我的目标是不让两个用户拥有相同的 id。我如何保证这一点?我希望数据库能够处理这种形式,而不是我必须使用 uuid 之类的东西手动创建大 ID。
最佳答案
正如 Igor 正确观察到的,只要实体没有父实体,ID总是是唯一的。
我想不出任何理由让用户实体成为其他一些实体的子实体,所以你是安全的。
请注意,ID 不会是连续的,因为它有助于在整个数据集中均匀分布负载 - 这是数据存储区设计方式的副产品。
关于google-app-engine - 生成唯一 ID GAE 数据存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36539827/