google-app-engine - 如何使用 Google App Engine NDB 获得字段的最大值

标签 google-app-engine google-cloud-datastore

这个类似to this question只不过这是针对新开发银行的并且是最新的。 NDB 没有 Limit 属性。

问题是如何在使用 Google App Engine NDB 时获得字段的最大值?这本质上是复制 TSQL、PLSQL 等 SQL 语言中的 max 函数。

最佳答案

代码片段如下:

max_of_the_field = Kind.query().order(-Kind.the_field).fetch(1)

Kind 将替换为您的种类名称。您可能知道,种类大致类似于 SQL 表,而实体是记录。

请注意 order 参数开头的减号 (-)。这意味着下降。然后 .fetch(1) 说“给我第一条记录”。降序与 .fetch(1) 一起产生该字段的最大值。

提供

max_of_the_field 是为了使其看起来更像是完整的代码行。当然,您可能会以不同的方式使用它。

the_field 需要建立索引,这超出了本答案的范围。

大量实体存在潜在的可扩展性和成本问题。其他人建议在添加/更新记录时以某种查找方式跟踪您的最大值。

关于google-app-engine - 如何使用 Google App Engine NDB 获得字段的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39238632/

相关文章:

Python、gae、ndb——以一种方式获取所有键

python - 如何将数据存储到数据存储区 - AppEngine

google-app-engine - 在 ndb tasklet 中使用 images.get_serving_url_async() 是否安全?

java - Appengine JPA 更新

mysql - 如何增加 App Engine 请求处理程序的时间,因为它会在 60 秒内中止每个请求?

python - ndb.StructuredProperty 中的自动字段值

python - 对 Django 和 Google App Engine 感到困惑

python - 当我收到内部错误时如何在 web2py 和 GAE SDK 上查找错误 - 发出的票证 : unknow

python - 在命名空间、 Multi-Tenancy App Engine 应用程序中管理全局数据

google-app-engine - 在 Google App Engine 中使用祖先或引用属性?