Google Appengine NDB 祖先与键查询

2023-11-23

我将一个实体的密钥存储为另一个实体的属性,以便将它们关联起来。目前项目正处于重构阶段,所以我正在考虑引入祖先。 这两种方法之间有性能差异吗?如果我们介绍祖先,我可能会获得什么特定的优势?

class Book(ndb.Model):
  ...

class Article(ndb.Model):
  book_key = ndb.KeyProperty(kind=Book, required=True)


book_key =  ndb.Key("Book", 12345)

第一祖先查询方法

qry = Article.query(ancestor=book_key)

第二种简单的按键查询方法

qry = Article.query(book_key=book_key)

祖先查询将始终完全一致。查询依据book_key另一方面,不一定一致:您可能会发现最近的更改不会显示在该查询中。

另一方面,引入祖先对更新次数施加了限制:每秒只能对任何实体组(即祖先及其子级)进行一次更新。

您需要权衡哪一个在您的应用程序中更重要。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Google Appengine NDB 祖先与键查询 的相关文章

随机推荐

  • Hadoop MapReduce - 每个输入一个输出文件

    我是 Hadoop 的新手 我正在尝试弄清楚它是如何工作的 至于练习 我应该实现类似于 WordCount Example 的东西 任务是读入多个文件 进行字数统计并为每个输入文件写入一个输出文件 Hadoop 使用组合器并将映射部分的输出
  • 为每组选择前 2 个值

    我无法获取每个组的前 2 个值 组位于列中 例子 ID Group Value 1 A 30 2 A 150 3 A 40 4 A 70 5 B 0 6 B 100 7 B 90 我希望我的输出是 ID Group Value 1 A 15
  • svg动画可以暂停而不丢失累积的信息吗?

    您可以不受限制地停止和重复动画 但如果重新启动无限期动画 它将丢失其累积值并从初始值开始 也许我应该用一个例子来澄清 以这个动画为例
  • 在 WPF 中使用 Unity 解析时 SynchronizationContext.Current 为 null

    我有一个 WPF 代码 看起来像这样 public class AlphaProductesVM BaseModel private ObservableCollection
  • 如何编辑jupyter lab主题

    As 在上一个问题中描述过 现在可以编辑 Jupyter Lab 主题 然而 这个主题对我个人来说有一些问题 例如 它使绘图轴难以阅读 因为它们的默认颜色是黑色 其他用户have had 类似问题 因此 我想分叉现有主题并将绘图显示单元设置
  • 测量 C++ OpenMP 代码中的执行时间

    我正在 i 以顺序方式运行 cpp 代码并 ii 使用 OpenMP 语句 我想看看时差 为了计算时间 我使用这个 include
  • l.append[i],对象不可下标? [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 目前不接受答案 当我做 l for i in range 10 if i 3 0 or i 5 0 l append i print sum l I get Traceback most r
  • 使用 EPPLUS 下载受密码保护的 Excel

    我正在使用 Excel 形式导出数据EPPLUSExcel 库 我希望当 Excel 下载时它会要求输入密码 我尝试过以下代码 FileInfo newFile new FileInfo sample xlsx using ExcelPac
  • Node.js 和 JXcore 如何选择?

    JXcore 似乎是对 Node js 的改进 检查这个精心设计的报价 JXcore 具有内置的多线程支持 可以 在您现有的 Node js 应用程序上启用 无需额外 变化 JXcore 多线程可能比 Node JS 集群模块带来大约 30
  • 如何在Google表格中列出所有排列而不重复?

    当前帖子是此链接问题的后续问题 洗牌一副假设的 7 张交易卡 并在 Google 表格中列出它们可以出现的订单 惊喜 我的问题孩子实际上是 真女神转生 3 的排列 一款电子游戏 我认为将其放入交易卡的术语中对于外行来说会更有意义 对不起 好
  • 如何将地图转换为数据框?

    m 是一个映射 如下所示 scala gt m res119 scala collection mutable Map Any Any Map A gt 0 11164610291904906 B gt 0 1185675594342461
  • Node.js 请求 CERT_HAS_EXPIRED

    我正在使用 Mikeal 的请求 https github com mikeal request 向服务器发出 https 请求 但是 我不断收到 CERT HAS EXPIRED 授权错误 request url https www do
  • 如何使用 jq 从 JSON 获取键名称

    curl http testhost test com 8080 application app version jq version jq 上述命令仅输出如下值 email protected 2323 test 02 03 2014 1
  • HibernateException:无法获取当前线程的事务同步会话

    我收到错误 Exception in thread main org hibernate HibernateException Could not obtain transaction synchronized Session for cu
  • 如何更改每个 HTTP 请求的 NHibernate 连接字符串?

    确实如上 An ISessionFactory OpenSession 可以提供一个IDbConnection 另一种选择是实施IConnectionProvider这将创造适当的IDbConnection实例取决于某些条件 必须是全局的
  • wkhtmltopdf 输出流和下载 - 对话框

    是否可以从任何 html 文件获取 wkhtmltopdf 创建的 pdf 流 并在 IE Firefox Chrome 等中弹出下载对话框 目前我通过以下代码获取输出流 public class Printer public static
  • Rails 3 中的自引用模型

    我有一个实体模型 我想显示实体之间的连接 即实体 1 连接到实体 2 我现在的想法是在两者之间创建一个称为 Connection 的连接模型 并让它像传统的 Rails 连接表一样工作 除了列为entity one id和entity tw
  • 如何直接在 C# 中执行批处理命令?

    我想执行批处理命令并将输出保存在字符串中 但我只能执行文件而无法将内容保存在字符串中 批处理文件 回声关闭 C lmxendutil exe licstatxml 主机 serv005 端口 6200 gt C Temp HW Lic XM
  • XCODE 在构建和运行时自动保存代码?

    如何告诉 Xcode 在每次构建并运行时自动保存源代码而不提示 Xcode 首选项 选择 建筑 选项卡 右下角 对于未保存的文件 选择 始终保存
  • Google Appengine NDB 祖先与键查询

    我将一个实体的密钥存储为另一个实体的属性 以便将它们关联起来 目前项目正处于重构阶段 所以我正在考虑引入祖先 这两种方法之间有性能差异吗 如果我们介绍祖先 我可能会获得什么特定的优势 class Book ndb Model class A