【问题标题】:GQL Query LimitGQL 查询限制
【发布时间】:2018-11-05 13:41:10
【问题描述】:

我创建了一个 NDB 模型

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

所以现在我需要查询这个模型并获取所有名字为 Mark 的人的帐户 ID。所以我写了查询...

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

但是每当我打印计数时使用上述查询,它仅限于 1000。

print acc_obj.count()

我知道计数超过 1000,但不知何故 gql 查询一次获取 1000 个实体。

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

  • 在不使用 limit,cursor 的情况下一次获取所有其他记录的另一种方法是什么?

【问题讨论】:

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


    【解决方案1】:

    看起来曾经有一个硬限制被取消了:

    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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-13
      • 2011-04-08
      • 2010-12-20
      • 1970-01-01
      • 2012-08-15
      • 2011-08-17
      • 2017-06-20
      • 1970-01-01
      相关资源
      最近更新 更多