Esiste un ordinamento predefinito per i valori restituiti delle query del datastore di App Engine? Se è così, che cosa è?Le query di datastore di App Engine hanno un ordinamento predefinito?
risposta
Per impostazione predefinita, si ottiene l'ordine delle chiavi e l'ordine delle chiavi dipende dal fatto che si sia scelto l'ID predefinito o fornito un nome chiave e, se il primo, sia stato utilizzato il criterio predefinito per l'allocazione delle chiavi. The doc dice "la politica di default genera una sequenza casuale di ID che è distribuita approssimativamente uniformemente: ogni ID può avere una lunghezza massima di 16 cifre decimali".
La parte "16 cifre" è interessante. Fondamentalmente, le chiavi sono 53 bit, la parte frazione di un doppio IEEE. JavaScript usa IEEE in doppio, quindi 53 bit è il più grande valore intero che puoi tranquillamente effettuare il round-trip tramite JSON.
dipende da quale parametro si filtra. Fondamentalmente l'ordinamento è sempre ASC, a seconda di come viene filtrato. Dai un'occhiata a this document potrebbe essere d'aiuto. Fondamentalmente, qualunque filtro tu usi determinerà l'ordinamento. Un altro documento interessante sarebbe this one che spiega gli indici in maggiori dettagli.
Nel caso in cui non si utilizzi un filtro, credo che l'indice utilizzato sia l'indice basato sulle chiavi, quindi si avrà una chiave crescente come ordine.
Datastore write costs afferma che l'entità del datastore include l'indice EntityByKinds
integrato. This index include la chiave di entità.
Ogni volta che viene aggiunta una nuova entità di qualsiasi tipo, una nuova riga viene automaticamente aggiunta a questa tabella con la chiave della nuova entità in modo che possa essere interrogata in seguito.
Quindi suppongo che se nessun ordine fornito, datastore restituisce entità ordinate per chiave.
La chiave dell'entità viene archiviata in modo che l'entità stessa possa essere recuperata in modo efficiente se viene restituita come risultato per la query eseguita.
Impossibile trovare il documento su asc/desc, ma quando ho effettuato una query di seguito, l'ordine predefinito era asc
.
>SELECT * FROM Model order by __key__ asc
>SELECT * FROM Model
success and same result
>SELECT * FROM Model order by __key__ desc
no matching index found
Quindi la conclusione della mia ricerca è che l'ordine di default è
order by __key__ asc
Si prega di correggermi se mi manca qualcosa.
- 1. Google App Engine: utilizzo di Big Query su datastore?
- 2. Codifica del datastore di Google App Engine?
- 3. Cerca sfaccettato datastore di Google App Engine
- 4. Gruppi di entità nel datastore di Google App Engine
- 5. Benchmark per varie operazioni Datastore di Google App Engine?
- 6. Google Cloud Datastore vs Google App Engine
- 7. Aggiornamenti di massa nel datastore di Google App Engine
- 8. API client Cassandra più simile all'API Datastore di App Engine?
- 9. Crea entità utilizzando il visualizzatore di datastore Google App Engine
- 10. Google App Engine DataStore Testo UTF-8 Problema di codifica
- 11. Sviluppo più veloce di App Engine Datastore Alternative
- 12. Configurazione di Django su Google App Engine per DataStore
- 13. Accesso al datastore dell'App Engine
- 14. Come si utilizzano le proprietà dell'elenco nel datastore di Google App Engine in Java?
- 15. Come sfogliare il datastore Java App Engine locale?
- 16. Come si eliminano tutte le entità dal mio datastore di Google App-engine locale?
- 17. Fetch incoerente dal datastore del Google App Engine
- 18. Google App Engine: quali strumenti per modificare localmente il datastore?
- 19. Recupero di un record casuale dal datastore di Google App Engine?
- 20. Che cosa classifica Google come operazione di scrittura del datastore in Google App Engine?
- 21. GeoModel con Google App Engine - query
- 22. Google-app-engine NDB
- 23. Come interrogare l'entità padre dall'entità figlio in NDB/Datastore di Google App Engine (Python)?
- 24. App Engine, Python: come filtrare la query per ID?
- 25. query DNS utilizzando Google App Engine presa
- 26. Complessità di una query nel datastore di Google
- 27. Come eliminare entità dal motore di Google Search Engine Datastore?
- 28. pagina il datastore Admin è vuoto nel mio pannello di App Engine Control
- 29. Query HRD di Google App Engine senza antenato
- 30. metodo get_by_id sulle classi Modello nel datastore di Google App Engine
Quindi l'ordinamento predefinito 'Person.all()' è equivalente a 'Person.all(). Order ('__ chiave __')' in Python dove 'Person 'è un'entità? – Dan
Questa è la mia comprensione. –