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

时间:2016-08-30 23:37:43

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

这类似to this question,但这是针对NDB的并且是最新的。 NDB没有Limit属性。

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

1 个答案:

答案 0 :(得分:2)

代码段如下:

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将需要编入索引,这超出了此答案的范围。

大量实体存在潜在的可扩展性和成本问题。其他人建议在添加/更新记录时跟踪你的最大值是什么类型。