GQL查询限制

时间:2018-11-05 13:41:10

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

我已经创建了一个NDB模型

class Account(ndb.Model):
   accId = ndb.StringProperty()
   firstName = ndb.StringProperty()
   lastName = ndb.StringProperty()

因此,现在我需要查询该模型,并获取所有以firstName为Mark的人的帐户ID。所以我写了查询...

acc_obj = Account.gql("WHERE firstName = :1","Mark")

但是,每当我打印计数时,使用上述查询就只能将其限制为1000。

print acc_obj.count()

我知道计数超过1000,但是以某种方式gql查询一次获取了1000个实体。

  • 那为什么有这个限制(解释)?

  • 还有什么其他方法可以一次获取所有其他记录而不使用limit,cursor?

1 个答案:

答案 0 :(得分:0)

似乎曾经有一个硬性限制被解除:

Google App Engine - getting count of records that match criteria over 1000

但是也许只是针对某些机制而不是其他机制。

例如在远程api-shell中,仍然存在1000个限制

https://issuetracker.google.com/issues/35893498

如果您能够在NDB中重新创建查询,则不会遇到限制:

google app engine NDB records counts from NDB model