размещение отсортированной записи в хранилище данных Google Appengine

StackOverflow https://stackoverflow.com/questions/2368199

Вопрос

Я хотел бы определить, в каком месте находится конкретная запись, но соответствующий запрос GQL ускользает от меня.В идеале я хотел бы знать следующие детали, которые, похоже, должны быть известны хранилищу данных.Я просто не могу понять, как это определить.Может ли кто-нибудь помочь?

  • размещение конкретной записи (в заданной сортировке, т.е.по определенному свойству)
  • общее количество существующих записей (без их получения, только подсчет)
  • следующая запись в списке (я полагаю, что пока я могу получить место, я могу сделать правильный запрос, чтобы получить следующую запись, просто получив 2 и выбрав последнюю)

Может ли кто-нибудь помочь?

Это было полезно?

Решение

Если вы используете Python, ознакомьтесь с google-app-engine-ranklist проект, который реализует список рангов в хранилище данных App Engine.

Другие советы

GQL очень ограничен и на самом деле существует только для того, чтобы дать людям, застрявшим в мышлении SQL, немного более простой переход к использованию хранилища данных App Engine.Вы не можете делать ничего из того, что хотите, с помощью синтаксиса GQL.

Предполагая, что вы используете Python, второе можно сделать, вызвав метод .count() объекта db.Query или db.GqlQuery с оговоркой, что вы должны указать максимальное число для подсчета в качестве параметра для count(). , и что этот максимум не может быть больше 1000.

Вы не сможете найти конкретную запись в наборе результатов, не выбрав их все и не выполнив поиск.Последнее становится тривиальным, поскольку вы уже получили все объекты, и вам просто нужно получить следующий.

Ничто из этого не будет эффективным;хранилище данных не предназначено для таких вещей.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top