Google app engine 为什么给定类型的ID在Google云数据存储中不是唯一的?

Google app engine 为什么给定类型的ID在Google云数据存储中不是唯一的?,google-app-engine,google-cloud-datastore,Google App Engine,Google Cloud Datastore,在我的GAE数据存储中,我有以下几种:存储、订单和事务。一个商店有几个订单,一个订单有几个交易。 商店是订单的父级,订单是交易的父级。ID由数据存储自动生成 在DB中,我发现了两个不同的订单记录,它们具有相同的id,但具有不同的父级。所以看起来这些ID本身并不是唯一的——只是和它们的父项结合在一起?这是正确的吗 如果是这样,我总是需要在查询中查询id和父项 谢谢, -路易丝是的,这是正确的。数据存储永远不会将相同的数字ID分配给具有相同父实体的两个实体,或分配给两个根实体(没有父实体的实体) 数

在我的GAE数据存储中,我有以下几种:存储、订单和事务。一个商店有几个订单,一个订单有几个交易。 商店是订单的父级,订单是交易的父级。ID由数据存储自动生成

在DB中,我发现了两个不同的订单记录,它们具有相同的id,但具有不同的父级。所以看起来这些ID本身并不是唯一的——只是和它们的父项结合在一起?这是正确的吗

如果是这样,我总是需要在查询中查询id和父项

谢谢,
-路易丝是的,这是正确的。数据存储永远不会将相同的数字ID分配给具有相同父实体的两个实体,或分配给两个根实体(没有父实体的实体)

数据存储中的每个实体都有一个唯一标识它的键。这个 密钥由以下组件组成:

  • 实体的名称空间,允许多租户
  • 实体的类型,为数据存储查询的目的对其进行分类
  • 单个实体的标识符,可以是键名字符串或整数数字ID
  • 在数据存储层次结构中定位实体的可选祖先路径

  • 您可以找到有关祖先路径的更多详细信息。

    ID不相关;您应该始终按键进行查询。键包括祖先路径(如果有)。