пакетная операция для получения объекта изложена ниже:
Партия получается. entity = db.get ([k1, k2, k3])
Как я могу получить все объекты без предоставления ключей?
пакетная операция для получения объекта изложена ниже:
Как я могу получить все объекты без предоставления ключей?
У меня есть решение по этому поводу, и его можно найти в Запросы к хранилищу данных - Интерфейс запросов пример:
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");
}
Я не добавлял фильтр в запрос, так как он возвращает все сущности из хранилища данных.
Это было легко сделать, используя gql с условием это всегда верно, и получите результаты. Например. если у вашей сущности есть строковое поле с именем StringKey, вы можете сделать:
entities = db.gql("WHERE StringKey >''").fetch(1000)
Обратите внимание, что получение более 1000 объектов возможно, но не просто в GAE, см. это обсуждение.