Как получить все объекты в хранилище данных App Engine? - PullRequest
3 голосов
/ 07 февраля 2011

in http://code.google.com/appengine/docs/python/datastore/entities.html#Saving_Getting_and_Deleting_Entities

пакетная операция для получения объекта указана ниже:

Пакетное получение.entity = db.get ([k1, k2, k3])

Как получить все объекты без предоставления ключей?

Ответы [ 2 ]

3 голосов
/ 09 февраля 2011

Я получил решение по этому вопросу, и его можно найти в Запросы к хранилищу данных - Пример интерфейса запроса :

Query q = new Query("Person") 
        PreparedQuery pq = datastore.prepare(q);  
    for (Entity result : pq.asIterable()) {   
       String firstName = (String) result.getProperty("firstName");   
       String lastName = (String) result.getProperty("lastName");   
       Long height = (Long) result.getProperty("height");   
       System.out.println(lastName + " " + firstName + ", " + height.toString() + "inches tall"); 
}

Я не добавил фильтр в запрос, поскольку он возвращает все объекты из хранилища данных,

0 голосов
/ 07 февраля 2011

Легко было сделать это, используя gql с условием, которое всегда истинно, и извлекает результаты. Например. если у вашей сущности есть строковое поле с именем StringKey, вы можете сделать:

entities = db.gql("WHERE StringKey >''").fetch(1000)

Обратите внимание, что получение более 1000 объектов возможно, но не просто в GAE, см. это обсуждение .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...