gpt4 book ai didi

python - 如何更改 NDB 记录的祖先?

转载 作者:太空狗 更新时间:2023-10-30 00:46:05 27 4
gpt4 key购买 nike

在高复制数据存储(我正在使用 NDB)中,一致性是最终的。为了获得有保证的完整集,可以使用祖先查询。祖先查询还提供了一种很好的方法,可以通过无情查询获取特定祖先的所有“ child ”。简而言之,能够利用祖先模型在 GAE 中非常有用。

我遇到的问题似乎相当简单。假设我有一个联系人记录和一个消息记录。给定的联系人记录被视为每条消息的祖先。但是,可能会为同一个人创建两个联系人(用户错误、不同的数据点等)。这种情况会产生两个联系人记录,其中有与之相关的消息。

我需要能够“合并”这两条记录,并将所有消息放入一大堆中。理想情况下,我能够修改其中一个记录的子项的祖先。

我能想到的唯一方法是创建映射并让我的应用程序检查记录是否已合并。如果有,请查看映射以找到一个或多个相关记录,并对这些记录执行查询。这似乎非常低效。是否有更多“按部就类”的方式处理此用例?

最佳答案

更改实体祖先的唯一方法是删除旧的并使用新键创建新的。这必须对祖先路径中的所有子(和孙子等)实体完成。如果这不可能,那么您列出的解决方案就可以了。

这是必需的,因为实体的祖先路径是其唯一键的一部分。实体的父项(即祖先路径中的实体)不需要存在,因此更改父项的键将使数据存储中的子项没有父项。

关于python - 如何更改 NDB 记录的祖先?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11854137/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com