是否可以在不更改实体密钥的情况下更新实体的祖先?我将如何在Go中实现这一目标?
我的层次结构类似于:
公司/部门/雇员
开始时没有员工部门:公司/员工。 然后,当他/她被分配到一个部门时,我想将其更改为:公司/部门/员工,但我希望实体密钥保持不变,因为它已在别处用于引用该实体。
答案 0 :(得分:3)
是否可以在不更改实体密钥的情况下更新实体的祖先?
我不相信。祖先是关键的一部分。
我将如何在Go中实现这一目标?
您需要在此处使用实体组吗?我尽可能避免实体组。他们增加了太多限制。我建议你为公司和部门的员工实体添加属性:
type Employee struct {
Company, Department string
}
您仍然可以通过这些属性进行查询,但更新后可能会有几秒延迟。如果您需要强大的一致性,您始终可以通过密钥查看Employee up。这将始终返回最新版本。