我创建了一个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?

最佳答案

似乎曾经有一个硬性限制被取消:

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

关于python - GQL查询限制,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53155561/

10-12 12:33
查看更多