实体 google 数据存储是否可以有 "empty" 属性?

Does the entity google datastore could have "empty" property?

如果我有一个具有 A、B 和 C 属性的员工实体,并且某类员工具有 属性 D。哪个更好

  1. 使两个实体成为雇员和d_employee。
  2. 将 属性 D 添加到实体员工中。

如果我遵循第二种解决方案,我担心的是所有员工实体 可能 有多余的 属性 D(来自关系数据库预期:空行)这是真的吗?我在文档中搜索了答案,但不清楚在这种情况下究竟会发生什么。

  1. add the property D into the entity employee.

Google 的数据存储不是基于 table 的关系数据库。它将实体存储为单独的 "documents",并且不要求这些文档除了具有相同的 ID 类型之外在任何方面都相似。

没有 table 架构还意味着您可以做其他有趣的事情,例如为每个实体选择性地索引属性。没有可以设置为索引的列。

Objectify's polymorphism 特性允许在同一个 "table" 中实现不同类型的数据(如果你找到一个更好的词)。如果您不使用 objectify,请查看它。它也适用于存储具有 "optional" 字段的简单实体(也没有 table 约束,因此只需要 null 就可以了)。