Domanda

mi piacerebbe per determinare quale posto una voce particolare, è in, ma la query GQL appropriata mi sta sfuggendo. Idealmente mi piacerebbe conoscere i seguenti dati, che sembrano come dovrebbero essere conosciuti dal datastore. Io proprio non riesco a capire come determinare esso. Qualcuno può aiutarmi?

  • il posizionamento di una particolare voce (in un determinato ordinamento, vale a dire da una particolare proprietà)
  • il numero totale di voci che esistono (w / o loro recupero, solo il conteggio)
  • la voce successiva nella lista (ho dato il tempo che posso ottenere il posizionamento, posso fare la domanda giusta per ottenere quello successivo semplicemente ottenendo 2 e prendendo il secondo)

Qualcuno può aiutarmi?

È stato utile?

Soluzione

Se stai usando Python, controlla la google-app- motore-ranklist progetto , che implementa un elenco rango nella datastore App Engine.

Altri suggerimenti

GQL è molto limitato, e in realtà esiste solo per dare alla gente bloccato in uno SQL mentalità un passaggio un po 'più facile da utilizzare il datastore App Engine. Non si può fare nessuna delle cose che vuoi fare con la sintassi GQL.

Supponendo che si sta utilizzando python, il secondo può essere fatta chiamando il metodo .count () di un oggetto o di db.Query db.GqlQuery, con l'avvertenza che è necessario specificare il numero massimo di contare come il parametro a count (), e che questo massimo non può essere superiore a 1000.

Non è possibile trovare una determinata voce nella serie di risultati senza caricare tutti loro e alla ricerca di esso. L'ultima poi diventa banale, dal momento che hai già recuperando tutte le entità e non vi resta che andare a prendere quello successivo.

Niente di tutto questo sta per essere efficiente; il datastore non è progettato per fare questo genere di cose.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top