GQL Query Limit - PullRequest
       10

GQL Query Limit

0 голосов
/ 05 ноября 2018

Я создал модель NDB

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

Так что теперь мне нужно сделать запрос по этой модели и получить идентификаторы учетных записей всех людей, имеющих firstName как Mark. Поэтому я написал запрос ...

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

Но, используя приведенный выше запрос всякий раз, когда я печатаю count, он ограничивается только 1000.

print acc_obj.count()

Я знаю, что число превышает 1000, но каким-то образом запрос gql извлекает 1000 сущностей за один раз.

  • Так почему существует это ограничение (объяснение)?

  • И какова другая альтернатива для извлечения всех других записей сразу, без использования лимита, курсора?

1 Ответ

0 голосов
/ 06 ноября 2018

Похоже, когда-то был установлен жесткий лимит:

Google App Engine - получение количества записей, соответствующих критериям более 1000

Но, возможно, он был отменен только для определенных механизмов, а не для других.

Например, в удаленной API-оболочке предел 1000 по-прежнему существует

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

Если вы сможете воссоздать свой запрос в NDB, у вас не будет ограничения:

подсистема Google App Engine считает количество записей NDB от модели NDB

...