为什么Google Datastore建议手动分配实体ID



我想向用户显示我的应用程序的Google数据存储实体的16位数字ID。然而,在谷歌数据存储文档中,有一行写道:

"如果你想向用户显示实体ID,和/或取决于他们的订单,最好的办法是使用手动分配。">

如果我希望向用户显示实体ID,为什么建议我使用手动分配?

这只是为了更好的可用性,因为如果用户正在查看一个列表,比如他们的订单列表,16位数字是很多的,而随机的16位数字看起来很奇怪。除此之外,如果这对用户来说很好,那么使用它们也没有问题。

还要注意,在使用手动分配之后,您需要使用数据存储来阻止该ID。AllocateID函数以避免冲突:

高级应用程序有时可能希望手动将自己的数字ID分配给所创建的实体,而不是使用关键字名称字符串或自动生成数字ID。但是,请注意,没有什么可以阻止Cloud Datastore将一个手动数字ID分配给另一个实体。避免此类冲突的唯一方法是让您的应用程序获得具有数据存储的ID块。AllocateID函数。Cloud Datastore的自动ID生成器将跟踪已使用此功能分配的ID,并避免将其重复用于另一个实体,因此您可以安全地使用这些ID而不会发生冲突。

最新更新