Gli oggetti di dati in Firestore in modalità Datastore sono noti come entità. Un'entità ha una o più proprietà denominate, ognuna delle quali può avere uno o più valori. Le entità dello stesso tipo non devono avere le stesse proprietà e i valori di un'entità per una determinata proprietà non devono essere tutti dello stesso tipo di dati. Se necessario, un'applicazione può stabilire e applicare queste limitazioni nel proprio modello dei dati.
La modalità Datastore supporta diversi tipi di dati per i valori delle proprietà. Questi includono, tra gli altri:
- Numeri interi
- Numeri con rappresentazione in virgola mobile
- Strings
- Date
- Dati binari
Ogni entità in un database in modalità Datastore ha una chiave che la identifica in modo univoco. La chiave è costituita dai seguenti componenti:
- Lo spazio dei nomi dell'entità, che consente la multitenancy
- Il tipo dell'entità, che la classifica ai fini delle query
- Un identificatore per la singola entità, che può essere:
- una stringa key name
- un ID numerico intero
- Un percorso predecessore facoltativo che individua l'entità all'interno della gerarchia del database
Un'applicazione può recuperare una singola entità dal database utilizzando la chiave dell'entità oppure può recuperare una o più entità eseguendo una query basata sulle chiavi o sui valori delle proprietà delle entità.
Firestore in modalità Datastore non applica alcuna restrizione alla struttura delle entità, ad esempio se una determinata proprietà ha un valore di un tipo particolare; questa attività è lasciata all'applicazione.
Gli snippet in questa pagina si basano sull'esempio riportato in Inizia a utilizzare Firestore in modalità Datastore.
Utilizza le entità
Le applicazioni possono utilizzare l'API Firestore in modalità Datastore per creare, recuperare, aggiornare ed eliminare entità. Se l'applicazione conosce la chiave completa di un'entità (o può derivarla dalla chiave, dal tipo e dall'identificatore della chiave padre), può utilizzarla per operare direttamente sull'entità. Un'applicazione può anche ottenere la chiave di un'entità come risultato di una query. Per ulteriori informazioni, consulta l'argomento Query.
Crea un'entità
Per creare una nuova entità, inizializzala e imposta le sue proprietà:
C#
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore C#.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Go.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Java.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Node.js.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore PHP.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Python.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Ruby.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Puoi salvare l'entità nel database utilizzando upsert (che sovrascriverà un'entità se esiste già in modalità Datastore) o insert (che richiede che la chiave dell'entità non esista già).
Ecco come upsert un'entità:
C#
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore C#.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Go.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Java.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Node.js.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore PHP.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Python.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Ruby.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Ecco come insert un'entità:
C#
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore C#.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Go.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Java.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Node.js.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore PHP.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Python.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Ruby.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Recupera un'entità
Per recuperare un'entità dal database, utilizza la relativa chiave per una ricerca:
C#
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore C#.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Go.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Java.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Node.js.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore PHP.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Python.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Ruby.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Aggiorna un'entità
Per update un'entità esistente, modifica le proprietà dell'entità recuperata in precedenza e memorizzala utilizzando la chiave:
C#
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore C#.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Go.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Java.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Node.js.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore PHP.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Python.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Ruby.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
I dati forniti sovrascrivono l'entità esistente.
È necessario inviare l'intero oggetto al database.
Se l'entità non esiste, l'aggiornamento non andrà a buon fine.
Se vuoi aggiornare o creare un'entità, utilizza upsert come descritto in precedenza.
L'utilizzo di una transazione
ti consente di eseguire le operazioni get e update in un'unica transazione
atomica.
Elimina un'entità
Data la chiave di un'entità, puoi delete l'entità:
C#
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore C#.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Go.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Java.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Node.js.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore PHP.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Python.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Ruby.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Operazioni batch
Firestore in modalità Datastore supporta le versioni batch delle operazioni che consentono di operare su più oggetti in una singola chiamata in modalità Datastore.
Queste chiamate batch sono più veloci rispetto alle chiamate separate per ogni singola entità, perché comportano l'overhead per una sola chiamata di servizio. Se sono coinvolti più gruppi di entità, il lavoro per tutti i gruppi viene eseguito in parallelo sul lato server.
Ad esempio, puoi upsert più entità:
C#
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore C#.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Go.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Java.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Node.js.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore PHP.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Python.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Ruby.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Puoi cercare più entità:
C#
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore C#.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Go.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Java.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Node.js.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore PHP.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Python.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Ruby.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Puoi eliminare più entità:
C#
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore C#.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Go.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Java.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Node.js.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore PHP.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Python.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Ruby.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Le operazioni batch non modificano i costi di lettura, scrittura o eliminazione, che sono documentati in Prezzi e quote. Ti verrà addebitato un costo per ogni chiave in un'operazione in batch, indipendentemente dal fatto che la chiave esista o meno.
Le dimensioni delle entità coinvolte in un'operazione non influiscono sui costi di lettura, scrittura o eliminazione. Tuttavia, le dimensioni delle entità influiscono sui costi delle dimensioni di archiviazione.
Incremento e altre trasformazioni delle proprietà
Utilizza le trasformazioni delle proprietà come increment per apportare aggiornamenti lato server a una proprietà. Una trasformazione della proprietà evita un'ulteriore operazione di lettura lato client per ottenere il valore corrente ed evita un calcolo lato client per determinare il nuovo valore.
La modalità Datastore supporta le seguenti trasformazioni delle proprietà:
incrementmaximumminimumappendMissingElementsremoveAllFromArraysetToServerValue(REQUEST_TIME)
L'esempio seguente mostra una trasformazione delle proprietà. Questa operazione incrementa le proprietà in base ai valori specificati:
REST
POST https://datastore.googleapis.com/v1/projects/{projectId}:commit
{
"mode": "NON_TRANSACTIONAL",
"mutations": [
{
"propertyMask": {}, // Empty write mask indicates only transforms can change the entity.
"propertyTransforms": [
{
"property": "quantity",
"increment": {
"integerValue": 2
}
},
{
"property": "inStock",
"maximum": {
"integerValue": 100
}
},
]
"upsert": {
"key": {
"path": [
{
"kind": "Items",
"name": "entity_1"
}
]
}
}
}
]
}L'esempio seguente imposta il valore di una proprietà sull'ora in cui il server ha elaborato la richiesta con una precisione al millisecondo.
REST
POST https://datastore.googleapis.com/v1/projects/{projectId}:commit
{
"mode": "NON_TRANSACTIONAL",
"mutations": [
{
"propertyMask": {}, // // Empty write mask indicates only transforms can change the entity.
"propertyTransforms": [
{
"property": "timeField",
"setToServerValue": "REQUEST_TIME"
},
]
"upsert": {
"key": {
"path": [
{
"kind": "Kind_1",
"name": "entity_1"
}
]
}
}
}
]
}L'esempio seguente aggiunge elementi dell'array se mancanti.
REST
POST https://datastore.googleapis.com/v1/projects/{projectId}:commit
{
"mode": "NON_TRANSACTIONAL",
"mutations": [
{
"propertyMask": {}, // Empty write mask indicates only transforms can change the entity.
"propertyTransforms": [
{
"property": "arrayField",
"appendMissingElements": {
"values": [
{ "stringValue": "str" }, { "integerValue": 10 }
]
}
},
]
"upsert": {
"key": {
"path": [
{
"kind": "Kind_1",
"name": "entity_1"
}
]
}
}
}
]
}Tipi misti con maximum e minimum
Le trasformazioni delle proprietà maximum e minimum accettano come input un valore intero o un valore doppio (numero in virgola mobile). Il valore nella proprietà di destinazione può anche essere un numero intero o un valore doppio.
Se la proprietà non è un numero intero o un valore double o se non esiste, la trasformazione imposta la proprietà sul valore e sul tipo di input specificati. Se viene applicata un'operazione maximum in cui la proprietà e il valore di input sono di tipi misti (ovvero uno è un numero intero e l'altro è un valore double), la proprietà assume il tipo dell'operando più grande. Per minimum, la proprietà assume il tipo dell'operando più piccolo.
Se gli operandi sono equivalenti (ad es. 3 e 3.0), la proprietà non cambia. 0, 0.0 e -0.0 sono tutti zero. Il maximum o il minimum di un valore memorizzato pari a zero e di un valore di input pari a zero è sempre il valore memorizzato. maximum o minimum di qualsiasi valore numerico e NaN è NaN.
Mutazioni multiple e PropertyMask
Le trasformazioni delle proprietà vengono applicate in sequenza dopo eventuali mutazioni aggiuntive nella richiesta. Un PropertyMask
limita le mutazioni insert, update e upsert alle proprietà specificate, ma non limita le trasformazioni delle proprietà.
Ad esempio, partendo dalla seguente entità:
REST
entity: {
"key" : {
"path": [
{
"kind": "Kind_1",
"name": "entity_1"
}
]
}
"properties" : {
"a": 1,
"b": 2,
"c": 3
}
}La seguente richiesta aggiorna sia a che b, quindi applica una trasformazione della proprietà alla proprietà b:
POST https://datastore.googleapis.com/v1/projects/{projectId}:commit { "mode": "NON_TRANSACTIONAL", "mutations": [ { "propertyMask": {"a", "b"}, // update property a, b "update": { "key": { "path": [ { "kind": "Kind_1", "name": "entity_1" } ] } "properties": { "a" : "new_value", "b" : -2 } }, "propertyTransforms": [ { "property": "b", "increment": { "integerValue": 2 } } ] } ] }
Il risultato è il seguente:
REST
entity: {
"key" : {
"path": [
{
"kind": "Kind_1",
"name": "entity_1"
}
]
}
"properties" : {
"a": "new_value",
"b": 0,
"c": 3
}
}Tipi e identificatori
Ogni entità appartiene a un determinato tipo, che la classifica ai fini delle query. Ad esempio, un'applicazione di elenco di attività potrebbe rappresentare ogni attività da completare con un'entità di tipo Task.
Tutti i nomi di tipo che iniziano con due trattini bassi (__) sono riservati e non possono essere utilizzati.
Assegna identificatori
Oltre a un tipo, ogni entità ha un identificatore, assegnato al momento della creazione dell'entità. Poiché fa parte della chiave dell'entità, l'identificatore è associato in modo permanente all'entità e non può essere modificato. Può essere assegnato in uno dei seguenti modi:
La tua applicazione può specificare la propria stringa nome chiave per l'entità.
Per informazioni sulla dimensione massima della stringa della chiave dell'entità, consulta Limiti.
Puoi fare in modo che Firestore in modalità Datastore assegni automaticamente all'entità un ID numerico intero.
Per le best practice sull'assegnazione degli identificatori, consulta la sezione Chiavi nelle best practice.
L'esempio seguente crea una chiave con tipo Task che utilizza un nome chiave, "sampleTask", come identificatore:
C#
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore C#.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Go.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Java.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Node.js.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore PHP.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Python.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Ruby.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
La modalità Datastore può anche assegnare automaticamente gli ID. La modalità Datastore genera una sequenza casuale di ID non utilizzati che sono distribuiti in modo approssimativamente uniforme. Ogni ID può contenere fino a 16 cifre decimali.
L'esempio seguente crea una chiave con tipo Task, senza utilizzare un nome della chiave. La chiave completa (incluso l'ID assegnato automaticamente) dell'entità verrà restituita quando un'entità con la chiave incompleta viene salvata in modalità Datastore:
C#
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore C#.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Go.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Java.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Node.js.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore PHP.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Python.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Ruby.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Se vuoi mostrare gli ID entità all'utente e/o dipendere dal loro ordine, la cosa migliore da fare è utilizzare l'allocazione manuale.
Assegna il tuo ID numerico
Anziché utilizzare stringhe di nomi di chiavi o generare automaticamente ID numerici,
le applicazioni avanzate a volte possono assegnare manualmente i propri ID numerici
alle entità che creano. Tuttavia, tieni presente che non esiste alcun modo per impedire a un database in modalità Datastore di assegnare uno dei tuoi ID numerici manuali a un'altra entità. L'unico modo per evitare questi conflitti è fare in modo che l'applicazione ottenga un blocco di ID con il metodo allocateIds().
Il generatore di ID automatico della modalità Datastore tiene traccia degli ID allocati con questi metodi ed evita di riutilizzarli per un'altra entità, in modo da poterli utilizzare in sicurezza senza conflitti. Non puoi scegliere manualmente i valori restituiti dal metodo allocateIds(). I valori restituiti da allocateIds() vengono assegnati dalla modalità Datastore.
Percorsi predecessore
Le entità in un database in modalità Datastore formano uno spazio strutturato in modo gerarchico simile alla struttura di directory di un file system. Quando crei un'entità, puoi facoltativamente designare un'altra entità come principale; la nuova entità è un'entità secondaria dell'entità padre (tieni presente che, a differenza di un file system, l'entità padre non deve necessariamente esistere). Un'entità senza un elemento principale è un'entità base. L'associazione tra un'entità e il relativo elemento principale è permanente e non può essere modificata dopo la creazione dell'entità. La modalità Datastore non assegnerà mai lo stesso ID numerico a due entità con lo stesso elemento padre o a due entità base (quelle senza un elemento padre).
Un'entità può avere più livelli di predecessori e discendenti. Il genitore di un'entità, il genitore del genitore e così via in modo ricorsivo sono i suoi antenati; i suoi figli, i figli dei figli e così via sono i suoi discendenti. La sequenza di entità che inizia con un'entità base e procede da entità padre a entità figlia, fino a un'entità specifica, costituisce il percorso predecessore di quell'entità. La chiave completa che identifica l'entità è costituita da una sequenza di coppie tipo-identificatore che specificano il percorso dell'antenato e terminano con quelle dell'entità stessa:
[User:alice, TaskList:default, Task:sampleTask]
Per un'entità base, il percorso predecessore è vuoto e la chiave è costituita esclusivamente dal tipo e dall'identificatore dell'entità:
[User:alice]
Livelli di genitori
Utilizza i livelli degli elementi principali per organizzare i dati. Ad esempio, se la tua applicazione organizza le entità Task in base alle entità TaskList, utilizza un livello di entità principale:
C#
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore C#.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Go.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Java.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Node.js.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore PHP.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Python.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Ruby.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Se la tua applicazione organizza le entità Task prima in base alle entità User e poi in base alle entità TaskList, utilizza più livelli di entità principali:
C#
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore C#.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Go.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Java.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Node.js.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore PHP.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Python.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Ruby.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Come mostrato nell'esempio precedente, quando crei un'entità con un elemento principale, specifichi il percorso completo dell'antenato dell'elemento principale.
Un'applicazione che gestisce i profili utente potrebbe richiedere un solo livello di elemento principale per i dati del profilo utente. Ad esempio, utilizza un percorso predecessore User di un singolo livello per le entità Profile:
[User:alice, Profile:public]
Un'applicazione che fornisce la pianificazione delle sale conferenze potrebbe richiedere più livelli di elementi principali, ad esempio un percorso di predecessori Building/Floor a più livelli per le entità Room:
[Building:C, Floor:1, Room:123]
Gruppi di entità
Un gruppo di entità è composto da un'entità base e da tutti i suoi discendenti. In genere, le applicazioni utilizzano i gruppi di entità per organizzare dati strettamente correlati. Ad esempio, un'applicazione potrebbe utilizzare un gruppo di entità per archiviare i dati relativi a un prodotto o a un profilo utente.
Proprietà e tipi di valore
I valori dei dati associati a un'entità sono costituiti da una o più proprietà. Ogni proprietà ha un nome e uno o più valori.
Una proprietà può avere valori di più tipi e due entità possono avere valori di tipi diversi per la stessa proprietà. Una proprietà può essere indicizzata o non indicizzata (le query che ordinano o filtrano in base a una proprietà p ignoreranno le entità in cui p non è indicizzata).
Alcuni esempi di proprietà:
C#
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore C#.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Go.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Java.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Node.js.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore PHP.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Python.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Ruby.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Proprietà degli array
Una proprietà con più di un valore è chiamata proprietà array. Questo esempio contiene due proprietà di array. Il primo si chiama tags con i valori fun e
programming. Il secondo è denominato collaborators con i valori alice e bob.
C#
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore C#.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Go.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Java.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Node.js.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore PHP.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Python.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Datastore Ruby.
Per eseguire l'autenticazione in Cloud Datastore, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Le proprietà di array possono essere utili, ad esempio, quando si eseguono query con filtri di uguaglianza: un'entità soddisfa la query se uno dei suoi valori per una proprietà corrisponde al valore specificato nel filtro. Per maggiori dettagli sulle proprietà degli array, inclusi i problemi di cui dovresti essere a conoscenza, consulta l'argomento Query.
Tipi di valori supportati
Le proprietà vengono archiviate come mappa string/value che contiene i nomi e i valori delle proprietà dell'entità. Per i valori sono supportati i seguenti tipi:
Numero intero a 32 bit
- API REST
- nome campo:
entityValue - type: una mappa di entità JSON contenente una singola proprietà
__int__con un numero interointegerValue
- nome campo:
- API RPC
- nome campo:
entity_value - type: un messaggio
Entitycontenente una singola proprietà__int__con uninteger_value
- nome campo:
- Ordinamento: numerico
Numero intero a 64 bit
- API REST
- nome campo:
integerValue - type: numero o stringa. Utilizza stringhe per i numeri interi che non possono essere rappresentati esattamente come numeri.
- nome campo:
- API RPC
- nome campo:
integer_value - type:
int64
- nome campo:
- Ordinamento: numerico
Array
API REST
- nome campo:
arrayValue - type: un oggetto
ArrayValueche contiene un array di oggetti JSON Value - Una proprietà array può essere assegnata utilizzando il campo
arrayValue, che è di tipo ArrayValue, e impostando il campovaluessu un array di valori. Per non indicizzare una proprietà, imposta il campoexcludeFromIndexesdell'oggetto valore della proprietà sutrue.
- nome campo:
API RPC
- nome campo:
array_value - type: un messaggio
ArrayValueche contiene uno o più messaggiValue - Una proprietà array può essere assegnata utilizzando il campo
array_value, che è di tipo ArrayValue, e compilando il campovaluescon più oggettiValue. Per non indicizzare una proprietà, imposta il campoexclude_from_indexesdiValuesutrue.
- nome campo:
Ordinamento: nessuno
Note: non può contenere un altro valore di array. L'istanza del valore non deve impostare
meaningoexclude_from_indexes.
Booleano
- API REST
- nome campo:
booleanValue - tipo:
trueofalse
- nome campo:
- API RPC
- nome campo:
boolean_value - type:
bool
- nome campo:
- Ordinamento:
false<true
Timestamp BSON
- API REST
- nome campo:
entityValue - type: una mappa di entità JSON contenente una proprietà
__request_timestamp__con proprietà di numeri interisecondseincrement
- nome campo:
- API RPC
- nome campo:
entity_value - type: un messaggio
Entityche rappresenta un timestamp BSON contenentesecondseincrement
- nome campo:
- Ordinamento: cronologico
- Note: un valore di timestamp a 64 bit che comprende i secondi Unix e un contatore di incremento.
Byte (blob)
- API REST
- nome campo:
blobValue - type: string. Deve essere codificata in Base64.
- nome campo:
- API RPC
- nome campo:
blob_value - type:
bytes
- nome campo:
- Ordinamento: ordine dei byte
- Note: fino a 1500 byte se la proprietà è indicizzata, altrimenti fino a 1.048.487 byte (1 MiB - 89 byte).
Byte con sottotipo
- API REST
- nome campo:
entityValue - type: una mappa di entità JSON contenente una singola proprietà
__binary__conblobValuecon codifica base64 (sottotipo byte anteposto ai dati)
- nome campo:
- API RPC
- nome campo:
entity_value - type: un messaggio
Entitycontenente una singola proprietà__binary__conblob_value(byte del sottotipo anteposto ai dati)
- nome campo:
- Ordinamento: ordine dei byte (sottotipo, poi valore)
- Note: sequenza di byte binari con un indicatore di sottotipo BSON.
Data e ora (timestamp)
- API REST
- nome campo:
timestampValue - type: string (formattata secondo RFC 3339, con millisecondi, ad esempio
2013-05-14T00:01:00.234Z)
- nome campo:
- API RPC
- nome campo:
timestamp_value - type:
Timestamp
- nome campo:
- Ordinamento: cronologico
- Note:
- Se archiviati in modalità Datastore, sono precisi solo al microsecondo; qualsiasi precisione aggiuntiva viene arrotondata per difetto.
- Se restituiti come parte di una query di proiezione, la modalità Datastore converte i valori di timestamp in valori interi di microsecondi.
Decimal128
- API REST
- nome campo:
entityValue - type: una mappa di entità JSON contenente una singola proprietà
__decimal128__con unstringValue
- nome campo:
- API RPC
- nome campo:
entity_value - type: un messaggio
Entitycontenente una singola proprietà__decimal128__con unstring_value
- nome campo:
- Ordinamento: numerico
- Note: numero in rappresentazione in virgola mobile decimale a 128 bit per l'aritmetica ad alta precisione.
Double (numero con rappresentazione in virgola mobile)
- API REST
- nome campo:
doubleValue - type: number
- nome campo:
- API RPC
- nome campo:
double_value - type:
double
- nome campo:
- Ordinamento: numerico
- Note: precisione doppia a 64 bit, IEEE 754
Entità incorporata
- API REST
- nome campo:
entityValue - type: un'entità JSON
- nome campo:
- API RPC
- nome campo:
entity_value - type: un messaggio
Entity
- nome campo:
- Ordinamento: nessuno
- Note: se indicizzate, puoi eseguire query sulle proprietà secondarie. Se escludi questo valore dall'indicizzazione, anche tutte le proprietà secondarie vengono escluse dall'indicizzazione.
Punto geografico
- API REST
- nome campo:
geoPointValue - type: una coppia latitudine/longitudine JSON
- nome campo:
- API RPC
- nome campo:
geo_point_value - tipo: un messaggio
LatLng
- nome campo:
- Ordinamento: per latitudine, poi per longitudine
Chiave
- API REST
- nome campo:
keyValue - type: una chiave Datastore in modalità JSON
- nome campo:
- API RPC
- nome campo:
key_value - tipo: un messaggio
Key
- nome campo:
- Ordinamento: per elementi del percorso (tipo, identificatore, tipo, identificatore…)
MaxKey
- API REST
- nome campo:
entityValue - type: una mappa di entità JSON contenente una singola proprietà
__max__con unnullValue
- nome campo:
- API RPC
- nome campo:
entity_value - type: un messaggio
Entitycontenente una singola proprietà__max__con unnull_value
- nome campo:
MinKey
- API REST
- nome campo:
entityValue - type: una mappa di entità JSON contenente una singola proprietà
__min__con unnullValue
- nome campo:
- API RPC
- nome campo:
entity_value - type: un messaggio
Entitycontenente una singola proprietà__min__con unnull_value
- nome campo:
Null
- API REST
- nome campo:
nullValue - type: null
- nome campo:
- API RPC
- nome campo:
null_value - type:
NullValue
- nome campo:
- Ordinamento: nessuno
ObjectId
- API REST
- nome campo:
entityValue - type: una mappa di entità JSON contenente una singola proprietà
__oid__con unstringValue(stringa esadecimale in minuscolo)
- nome campo:
- API RPC
- nome campo:
entity_value - type: un messaggio
Entitycontenente una singola proprietà__oid__con unstring_value
- nome campo:
- Ordinamento: per sequenza di 12 byte
Espressione regolare
- API REST
- nome campo:
entityValue - type: una mappa di entità JSON contenente
__regex__con proprietà perpatterneoptions
- nome campo:
- API RPC
- nome campo:
entity_value - type: un messaggio
Entityche rappresenta un'espressione regolare con le proprietàpatterneoptions
- nome campo:
- Ordinamento: per pattern, poi per opzioni
Stringa di testo
- API REST
- nome campo:
stringValue - type: stringa
- nome campo:
- API RPC
- nome campo:
string_value - type:
string
- nome campo:
- Ordinamento: ordine dei byte con codifica UTF-8
- Note: fino a 1500 byte se la proprietà è indicizzata, altrimenti fino a 1.048.487 byte (1 MiB - 89 byte).
Ordinamento dei tipi di valore
Quando una query coinvolge una proprietà con valori di tipi misti, un database in modalità Datastore utilizza un ordinamento deterministico basato sulle rappresentazioni interne. Il seguente elenco mostra l'ordine:
- Valori nulli
- MinKey
- Numeri interi a 32 bit
- Numeri interi a 64 bit e timestamp
- Valori booleani
- Stringhe di byte e stringhe Unicode
- Byte con sottotipi
- Doppi (NaN ordinati per ultimi)
- Punti geografici
- Chiavi in modalità Datastore
- ObjectId
- Timestamp BSON
- Espressione regolare
- Decimal128 (NaN viene ordinato per ultimo)
- MaxKey