GQL 查询限制
GQL Query Limit
我创建了一个 NDB 模型
class Account(ndb.Model):
accId = ndb.StringProperty()
firstName = ndb.StringProperty()
lastName = ndb.StringProperty()
所以现在我需要查询这个模型并获取所有名字为 Mark 的人的帐户 ID。所以我写了查询...
acc_obj = Account.gql("WHERE firstName = :1","Mark")
但是每当我打印 count 时使用上面的查询,它仅限于 1000。
print acc_obj.count()
我知道计数超过 1000,但不知何故 gql 查询一次获取 1000 个实体。
那么为什么会有这个限制(解释)?
在不使用限制、游标的情况下一次获取所有其他记录的另一种选择是什么?
看起来曾经有一个硬性限制被取消了:
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
我创建了一个 NDB 模型
class Account(ndb.Model):
accId = ndb.StringProperty()
firstName = ndb.StringProperty()
lastName = ndb.StringProperty()
所以现在我需要查询这个模型并获取所有名字为 Mark 的人的帐户 ID。所以我写了查询...
acc_obj = Account.gql("WHERE firstName = :1","Mark")
但是每当我打印 count 时使用上面的查询,它仅限于 1000。
print acc_obj.count()
我知道计数超过 1000,但不知何故 gql 查询一次获取 1000 个实体。
那么为什么会有这个限制(解释)?
在不使用限制、游标的情况下一次获取所有其他记录的另一种选择是什么?
看起来曾经有一个硬性限制被取消了:
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