2012-03-20 4 views
1

J'ai créé des entités dans le magasin de données. Je veux utiliser l'index qui leur est assigné par le datstore pour les requêtes. i.e obtenir un retour itérative où l'id est supérieur à un nombre donné par exemple. Je sais que je peux récupérer une entité individuelle via ID - mais comment obtenir une liste?Requête GAE Datastore par index

Cheers,

+0

Pourquoi essayez-vous de faire cela? Gardez à l'esprit que les identifiants ne sont pas attribués de manière séquentielle, donc iterer sur eux dans l'ordre n'est pas susceptible d'être utile pour quoi que ce soit. –

Répondre

1
Iterable<Entity> myEntities = pq.asIterable(); 
List<Entity> myEntitiesInAList = pq.asList(FetchOptions.Builder.withChunkSize(500)); 

Side note: "id" est pas le nom de la clé attribué automatiquement par App Engine. Je pense que vous devez utiliser __key__ comme nom de la propriété pour faire des requêtes dessus, et construire une clé complète comme paramètre de recherche, pas seulement le long id.

0

Si votre intention est de vous souvenir de l'endroit où vous vous êtes arrêté et de continuer dans une requête ultérieure, pensez à utiliser un query cursor. L'exemple sur cette page peut vous donner d'autres options.