Dans Cloud Firestore en mode Datastore, les objets de données sont appelés entités. Une entité est associée à une ou plusieurs propriétés nommées, chacune pouvant avoir une ou plusieurs valeurs. Les entités du même genre ne doivent pas nécessairement avoir les mêmes propriétés, et les valeurs d'une entité pour une propriété donnée ne doivent pas toutes être du même type de données. (Si nécessaire, une application peut établir et appliquer de telles restrictions dans son propre modèle de données.)
Le mode Datastore est compatible avec divers types de données pour les valeurs de propriété, parmi lesquels :
- Entiers
- Nombres à virgule flottante
- Chaînes
- Dates
- Données binaires
Chaque entité de la base de données en mode Datastore possède une clé qui l'identifie de manière unique. Cette dernière comprend les composants suivants :
- L'espace de noms de l'entité, qui permet de définir l'architecture mutualisée.
- Le genre de l'entité, qui la classe dans une catégorie pour les besoins des requêtes.
- Un identifiant associé à l'entité de manière individuelle, qui peut être :
- une chaîne de nom de clé ;
- un ID numérique sous forme d'entier.
- un chemin d'ancêtre facultatif localisant l'entité dans la hiérarchie de la base de données.
Une application peut extraire une entité individuelle de la base de données à l'aide de la clé de l'entité, ou extraire une ou plusieurs entités en émettant une requête basée sur leurs clés ou leurs valeurs de propriété.
Cloud Firestore en mode Datastore lui-même n'applique aucune restriction à la structure des entités pour déterminer, par exemple, si une propriété donnée a une valeur d'un type particulier. Cette tâche revient à l'application.
Les extraits figurant sur cette page s'appuient sur l'exemple de la page Premiers pas avec Cloud Firestore en mode Datastore.
Utiliser des entités
Les applications peuvent utiliser l'API Cloud Firestore en mode Datastore pour créer, récupérer, mettre à jour et supprimer des entités. Si l'application connaît la clé complète d'une entité (ou si elle peut la déduire de sa clé parente, de son genre et de son identifiant), elle peut s'en servir pour effectuer des opérations directement sur l'entité. Une application peut également obtenir la clé d'une entité à la suite d'une requête. Pour plus d'informations, consultez la page Requêtes.
Créer une entité
Pour créer une entité, initialisez-la et définissez ses propriétés :
C#
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage C#.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Go.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Java.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Node.js.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage PHP.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Python.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Ruby.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Vous pouvez enregistrer l'entité dans la base de données à l'aide d'une opération upsert (qui écrase une entité si elle existe déjà dans le mode Datastore) ou d'une opération insert (la clé de l'entité ne doit pas déjà exister).
Voici comment effectuer une opération upsert sur une entité :
C#
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage C#.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Go.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Java.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Node.js.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage PHP.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Python.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Ruby.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Voici comment effectuer une opération insert sur une entité :
C#
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage C#.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Go.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Java.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Node.js.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage PHP.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Python.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Ruby.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Récupérer une entité
Pour extraire une entité de la base de données, effectuez une opération lookup à l'aide de sa clé :
C#
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage C#.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Go.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Java.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Node.js.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage PHP.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Python.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Ruby.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Mettre à jour une entité
Pour effectuer une opération update sur une entité existante, modifiez les propriétés de l'entité précédemment récupérée et stockez-la à l'aide de la clé :
C#
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage C#.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Go.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Java.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Node.js.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage PHP.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Python.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Ruby.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Les données fournies écrasent l'entité existante.
L'objet entier doit être envoyé à la base de données.
Si l'entité n'existe pas, la mise à jour échoue.
Si vous souhaitez mettre à jour ou créer une entité, utilisez upsert comme décrit précédemment.
L'utilisation d'une transaction vous permet d'effectuer les opérations get et update en une seule transaction atomique.
Supprimer une entité
En utilisant la clé d'une entité, vous pouvez supprimer l'entité à l'aide de la fonction delete :
C#
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage C#.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Go.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Java.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Node.js.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage PHP.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Python.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Ruby.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Opérations par lot
Cloud Firestore en mode Datastore est compatible avec les versions par lot des opérations, qui lui permettent d'intervenir sur plusieurs objets via un seul appel en mode Datastore.
Il est plus rapide d'effectuer des appels par lot que des appels distincts pour chaque entité individuelle, car ils entraînent une surcharge pour un seul appel de service. Si plusieurs groupes d'entités sont impliqués, les opérations pour tous les groupes sont effectuées en parallèle côté serveur.
Par exemple, vous pouvez effectuer une opération upsert sur plusieurs entités :
C#
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage C#.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Go.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Java.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Node.js.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage PHP.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Python.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Ruby.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Vous pouvez effectuer une opération lookup sur plusieurs entités :
C#
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage C#.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Go.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Java.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Node.js.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage PHP.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Python.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Ruby.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Vous pouvez supprimer plusieurs entités :
C#
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage C#.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Go.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Java.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Node.js.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage PHP.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Python.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Ruby.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Les opérations par lot ne modifient pas vos coûts de lecture, d'écriture ou de suppression, qui sont documentés sur la page Tarifs et quotas. Vous serez facturé pour chaque clé employée dans une opération en lot, que cette clé existe ou non.
La taille des entités impliquées dans une opération n'a pas d'incidence sur les coûts des opérations de lecture, d'écriture ou de suppression. Cependant, elle en a sur les coûts liés à la taille de l'espace de stockage.
Incrémentation et autres transformations de propriétés
Utilisez des transformations de propriété telles que increment pour effectuer des mises à jour côté serveur d'une propriété. Une transformation de propriété évite une opération de lecture supplémentaire côté client pour obtenir la valeur actuelle et évite un calcul côté client pour déterminer la nouvelle valeur.
Le mode Datastore accepte les transformations de propriétés suivantes :
incrementmaximumminimumappendMissingElementsremoveAllFromArraysetToServerValue(REQUEST_TIME)
L'exemple suivant illustre une transformation de propriété. Cette opération incrémente les propriétés des valeurs spécifiées :
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'exemple suivant définit une valeur de propriété sur l'heure à laquelle le serveur a traité la requête, avec une précision de l'ordre de la milliseconde.
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'exemple suivant ajoute des éléments de tableau s'ils sont manquants.
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"
}
]
}
}
}
]
}Types mixtes avec maximum et minimum
Les transformations de propriété maximum et minimum prennent en entrée un entier ou un double (nombre à virgule flottante). La valeur de la propriété cible peut également être un entier ou une valeur double.
Si la propriété n'est pas un entier ou un double, ou si elle n'existe pas, la transformation définit la propriété sur la valeur et le type d'entrée donnés. Si une opération maximum est appliquée alors que la propriété et la valeur d'entrée sont de types mixtes (c'est-à-dire que l'une est un entier et l'autre un double), la propriété prend le type de l'opérande le plus grand. Pour minimum, la propriété prend le type de l'opérande le plus petit.
Si les opérandes sont équivalents (par exemple, 3 et 3,0), la propriété ne change pas. 0, 0.0 et -0.0 sont tous égaux à zéro. La valeur maximum ou minimum d'une valeur stockée nulle et d'une valeur d'entrée nulle est toujours la valeur stockée. La valeur maximum ou minimum de toute valeur numérique et NaN est NaN.
Plusieurs mutations et PropertyMask
Les transformations de propriété sont appliquées de manière séquentielle après toute mutation supplémentaire dans la requête. Un PropertyMask limite les mutations insert, update et upsert aux propriétés spécifiées, mais ne limite pas les transformations de propriétés.
Par exemple, en commençant par l'entité suivante :
REST
entity: {
"key" : {
"path": [
{
"kind": "Kind_1",
"name": "entity_1"
}
]
}
"properties" : {
"a": 1,
"b": 2,
"c": 3
}
}La requête suivante met à jour a et b, puis applique une transformation de propriété à la propriété 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 } } ] } ] }
Le résultat est le suivant :
REST
entity: {
"key" : {
"path": [
{
"kind": "Kind_1",
"name": "entity_1"
}
]
}
"properties" : {
"a": "new_value",
"b": 0,
"c": 3
}
}Genres et identifiants
Chaque entité est d'un genre particulier, ce qui permet de la classer dans une catégorie pour les besoins des requêtes. Par exemple, une application de liste de tâches peut représenter chaque tâche à effectuer avec une entité du genre Task.
Tous les noms de genre commençant par deux traits de soulignement (__) sont réservés et ne peuvent pas être employés.
Attribuer des identifiants
En plus d'un genre, chaque entité possède un identifiant, qui lui est attribué au moment de sa création. Comme il fait partie de la clé de l'entité, l'identifiant est associé de manière permanente à celle-ci et ne peut pas être modifié. Il peut être attribué de deux manières :
L'application peut spécifier sa propre chaîne de nom de clé pour l'entité.
Pour en savoir plus sur la taille maximale de la chaîne de clé d'entité, consultez Limites.
Cloud Firestore en mode Datastore peut attribuer automatiquement à l'entité un ID numérique sous forme d'entier.
Pour connaître les bonnes pratiques concernant l'attribution d'identifiants, consultez la section "Clés" des bonnes pratiques.
L'exemple suivant crée une clé de genre Task qui utilise un nom de clé, "sampleTask", comme identifiant :
C#
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage C#.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Go.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Java.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Node.js.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage PHP.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Python.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Ruby.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Le mode Datastore peut également attribuer automatiquement des ID. Le mode Datastore génère une séquence aléatoire d'ID inutilisés distribués de manière approximativement uniforme. Chaque ID peut comporter jusqu'à 16 chiffres décimaux.
L'exemple suivant permet de créer une clé du genre Task, sans employer de nom de clé. Lorsqu'une entité avec une clé incomplète est enregistrée dans le mode Datastore, sa clé complète (y compris l'ID attribué automatiquement) est renvoyée :
C#
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage C#.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Go.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Java.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Node.js.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage PHP.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Python.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Ruby.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Si vous souhaitez que les ID d'entité soient visibles par l'utilisateur et/ou si vous souhaitez les afficher en fonction de leur ordre, l'allocation manuelle est la meilleure solution.
Attribuer votre propre ID numérique
Au lieu d'employer des chaînes de nom de clé ou de générer automatiquement des ID numériques, les applications avancées peuvent parfois attribuer manuellement leurs propres ID numériques aux entités créées. Sachez toutefois que rien n'empêche une base de données en mode Datastore d'attribuer l'un de vos ID numériques manuels à une autre entité. Le seul moyen d'éviter de tels conflits est que votre application obtienne un bloc d'ID avec la méthode allocateIds().
Le générateur automatique d'ID du mode Datastore effectue un suivi des ID alloués avec ces méthodes et évite de les réutiliser pour une autre entité. Vous pouvez ainsi employer ces ID sans que cela ne génère de conflit. Vous ne pouvez pas choisir manuellement les valeurs renvoyées par la méthode allocateIds(). Les valeurs renvoyées par allocateIds() sont attribuées par le mode Datastore.
Chemins d'ancêtre
Dans une base de données en mode Datastore, les entités forment un espace structuré de manière hiérarchique, semblable à la structure de répertoires d'un système de fichiers. Lorsque vous créez une entité, vous pouvez éventuellement en désigner une autre comme son parent. La nouvelle entité est alors un enfant de l'entité parente. Contrairement à ce qui se produit dans un système de fichiers, l'entité parente n'a pas besoin d'exister réellement. Une entité sans parent est une entité racine. L'association entre une entité et son parent est permanente, et elle ne peut plus être modifiée une fois l'entité créée. Le mode Datastore n'attribue jamais le même ID numérique à deux entités ayant le même parent ni à deux entités racines (celles sans parent).
Une entité peut avoir plusieurs niveaux d'ancêtres et de descendants. Le parent d'une entité, le parent de son parent, etc. sont ses ancêtres. Ses enfants, les enfants de ses enfants, etc. sont ses descendants. La séquence d'entités commençant par une entité racine et allant du parent à l'enfant, menant à une entité donnée, constitue le chemin d'ancêtre de cette entité. La clé complète identifiant l'entité se compose d'une séquence de paires genre-identifiant spécifiant son chemin d'ancêtre et se terminant par celles de l'entité elle-même :
[User:alice, TaskList:default, Task:sampleTask]
Pour une entité racine, le chemin d'ancêtre est vide, et la clé est constituée uniquement du genre et de l'identifiant de l'entité :
[User:alice]
Niveaux de parents
Organisez les données à l'aide des niveaux de parents. Par exemple, si l'application organise les entités Task par entités TaskList, utilisez un niveau de parent :
C#
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage C#.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Go.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Java.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Node.js.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage PHP.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Python.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Ruby.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Si l'application organise les entités Task d'abord par entités User, puis par entités TaskList, utilisez plusieurs niveaux de parents :
C#
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage C#.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Go.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Java.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Node.js.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage PHP.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Python.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Ruby.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Comme indiqué dans l'exemple précédent, lorsque vous créez une entité avec un parent, vous spécifiez le chemin d'accès complet de l'ancêtre du parent.
Une application qui gère des profils utilisateur peut ne nécessiter qu'un seul niveau de parent pour les données de ces profils. Par exemple, employez un chemin d'ancêtre à un seul niveau (User) pour les entités Profile :
[User:alice, Profile:public]
Une application gérant les réservations de salles de conférence peut nécessiter plusieurs niveaux de parents, par exemple un chemin d'ancêtre à plusieurs niveaux (Building/Floor) pour les entités Room :
[Building:C, Floor:1, Room:123]
Groupes d'entités
Un groupe d'entités comprend une entité racine et tous ses descendants. Les applications s'en servent généralement pour organiser des données étroitement liées. Par exemple, une application peut utiliser un groupe d'entités pour stocker des données sur un produit ou un profil utilisateur.
Propriétés et types de valeurs
Les valeurs de données associées à une entité consistent en une ou plusieurs propriétés. Chaque propriété a un nom, et une ou plusieurs valeurs.
Une propriété peut avoir des valeurs de plus d'un type, et deux entités peuvent avoir des valeurs de types différents pour la même propriété. Une propriété peut être indexée ou non indexée (les requêtes qui trient ou filtrent en fonction d'une propriété p vont ignorer les entités où cette propriété p est non indexée).
Voici des exemples de propriétés :
C#
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage C#.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Go.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Java.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Node.js.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage PHP.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Python.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Ruby.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Propriétés de tableau
Une propriété comportant plus d'une valeur est appelée propriété de tableau. Cet exemple contient deux propriétés de tableau. La première, nommée tags, possède les valeurs fun et programming. La seconde, qui se nomme collaborators, comporte les valeurs alice et bob.
C#
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage C#.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Go.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Java.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Node.js.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage PHP.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Python.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud Datastore, consultez la page Bibliothèques clientes Cloud Datastore. Pour en savoir plus, consultez la documentation de référence de l'API Cloud Datastore en langage Ruby.
Pour vous authentifier auprès de Cloud Datastore, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Les propriétés de tableau peuvent être utiles, par exemple, lors de l'exécution de requêtes avec des filtres d'égalité : une entité satisfait à la requête si l'une de ses valeurs de propriété correspond à la valeur spécifiée dans le filtre. Pour en savoir plus sur les propriétés de tableau, y compris sur les problèmes dont vous devez avoir connaissance, consultez la page Requêtes.
Types de valeurs acceptés
Les propriétés sont stockées sous forme de mappage string/value contenant les noms et les valeurs des propriétés de l'entité. Les types suivants sont acceptés pour les valeurs :
Entier 32 bits
- API REST
- Nom du champ :
entityValue - type : mappage d'entité JSON contenant une seule propriété
__int__avec un entierintegerValue
- Nom du champ :
- API RPC
- Nom du champ :
entity_value - type : un message
Entitycontenant une seule propriété__int__avec uninteger_value
- Nom du champ :
- Ordre de tri : numérique
Entier 64 bits
- API REST
- Nom du champ :
integerValue - Type : nombre ou chaîne. Utilisez des chaînes pour les entiers qui ne peuvent pas être représentés exactement par des nombres.
- Nom du champ :
- API RPC
- Nom du champ :
integer_value - Type :
int64
- Nom du champ :
- Ordre de tri : numérique
Tableau
API REST
- Nom du champ :
arrayValue - Type : un objet
ArrayValuequi contient un tableau d'objets de valeur JSON - Une propriété de tableau peut être attribuée à l'aide du champ
arrayValue, qui est de type ArrayValue, et en définissant son champvaluessur un tableau de valeurs. Pour qu'une propriété ne soit pas indexée, définissez le champexcludeFromIndexesde l'objet de valeur de la propriété surtrue.
- Nom du champ :
API RPC
- Nom du champ :
array_value - Type : un message
ArrayValuecontenant un ou plusieurs messagesValue - Vous pouvez affecter une propriété de tableau en utilisant le champ
array_value, qui est du type ArrayValue, et en renseignant son champvaluesà l'aide de plusieurs objetsValue. Pour qu'une propriété ne soit pas indexée, définissez le champexclude_from_indexesdeValuesurtrue.
- Nom du champ :
Ordre de tri : aucun
Remarques : Ce type ne peut pas contenir une autre valeur de tableau. L'instance de valeur ne doit pas définir
meaningouexclude_from_indexes.
Booléen
- API REST
- Nom du champ :
booleanValue - Type :
trueoufalse
- Nom du champ :
- API RPC
- Nom du champ :
boolean_value - Type :
bool
- Nom du champ :
- Ordre de tri :
false<true
Code temporel BSON
- API REST
- Nom du champ :
entityValue - type : mappage d'entités JSON contenant une propriété
__request_timestamp__avec les propriétés d'entiersecondsetincrement
- Nom du champ :
- API RPC
- Nom du champ :
entity_value - type : message
Entityreprésentant un code temporel BSON contenantsecondsetincrement
- Nom du champ :
- Ordre de tri : chronologique
- Remarques : Valeur de code temporel de 64 bits comprenant des secondes Unix et un compteur d'incrémentation.
Octets (blob)
- API REST
- Nom du champ :
blobValue - Type : chaîne. Doit être encodé en base64.
- Nom du champ :
- API RPC
- Nom du champ :
blob_value - Type :
bytes
- Nom du champ :
- Ordre de tri : ordre des octets
- Remarques : Jusqu'à 1 500 octets si la propriété est indexée. Sinon, jusqu'à 1 048 487 octets (1 Mio – 89 octets).
Octets avec sous-type
- API REST
- Nom du champ :
entityValue - type : mappage d'entités JSON contenant une seule propriété
__binary__avecblobValueencodé en base64 (octet de sous-type ajouté aux données)
- Nom du champ :
- API RPC
- Nom du champ :
entity_value - type : un message
Entitycontenant une seule propriété__binary__avecblob_value(sous-type d'octet ajouté aux données)
- Nom du champ :
- Ordre de tri : ordre des octets (sous-type, puis valeur)
- Remarques : Séquence d'octets binaires avec un indicateur de sous-type BSON.
Date et heure (code temporel)
- API REST
- Nom du champ :
timestampValue - Type : chaîne (au format RFC 3339, avec une précision de l'ordre de la milliseconde, par exemple
2013-05-14T00:01:00.234Z)
- Nom du champ :
- API RPC
- Nom du champ :
timestamp_value - Type :
Timestamp
- Nom du champ :
- Ordre de tri : chronologique
- Remarques :
- En cas de stockage dans le mode Datastore, limitez la précision aux microsecondes. Toute précision supplémentaire est arrondie.
- Lorsque ce type est renvoyé dans une requête de projection, le mode Datastore convertit les valeurs d'horodatage en valeurs entières, exprimées en microsecondes.
Decimal128
- API REST
- Nom du champ :
entityValue - type : mappage d'entités JSON contenant une seule propriété
__decimal128__avec unstringValue
- Nom du champ :
- API RPC
- Nom du champ :
entity_value - type : un message
Entitycontenant une seule propriété__decimal128__avec unstring_value
- Nom du champ :
- Ordre de tri : numérique
- Remarques : Nombre à virgule flottante décimal de 128 bits pour l'arithmétique de haute précision.
Double (nombre à virgule flottante)
- API REST
- Nom du champ :
doubleValue - Type : nombre
- Nom du champ :
- API RPC
- Nom du champ :
double_value - Type :
double
- Nom du champ :
- Ordre de tri : numérique
- Remarques : Format double précision 64 bits (IEEE 754)
Entité intégrée
- API REST
- Nom du champ :
entityValue - Type : une entité JSON
- Nom du champ :
- API RPC
- Nom du champ :
entity_value - Type : un message
Entity
- Nom du champ :
- Ordre de tri : aucun
- Remarques : En cas d'indexation, vous pouvez exécuter une requête sur des sous-propriétés. Si vous excluez cette valeur de l'indexation, toutes les sous-propriétés en sont également exclues.
Point géographique
- API REST
- Nom du champ :
geoPointValue - Type : une paire latitude/longitude JSON
- Nom du champ :
- API RPC
- Nom du champ :
geo_point_value - Type : un message
LatLng
- Nom du champ :
- Ordre de tri : par latitude, puis par longitude
Clé
- API REST
- Nom du champ :
keyValue - Type : une clé du mode Datastore JSON
- Nom du champ :
- API RPC
- Nom du champ :
key_value - Type : un message
Key
- Nom du champ :
- Ordre de tri : par éléments de chemin (genre, identifiant, genre, identifiant, etc.)
MaxKey
- API REST
- Nom du champ :
entityValue - type : mappage d'entités JSON contenant une seule propriété
__max__avec unnullValue
- Nom du champ :
- API RPC
- Nom du champ :
entity_value - type : un message
Entitycontenant une seule propriété__max__avec unnull_value
- Nom du champ :
MinKey
- API REST
- Nom du champ :
entityValue - type : mappage d'entités JSON contenant une seule propriété
__min__avec unnullValue
- Nom du champ :
- API RPC
- Nom du champ :
entity_value - type : un message
Entitycontenant une seule propriété__min__avec unnull_value
- Nom du champ :
Vide
- API REST
- Nom du champ :
nullValue - Type : Null
- Nom du champ :
- API RPC
- Nom du champ :
null_value - Type :
NullValue
- Nom du champ :
- Ordre de tri : aucun
ObjectId
- API REST
- Nom du champ :
entityValue - type : mappage d'entités JSON contenant une seule propriété
__oid__avec une valeurstringValue(chaîne hexadécimale en minuscules)
- Nom du champ :
- API RPC
- Nom du champ :
entity_value - type : un message
Entitycontenant une seule propriété__oid__avec unstring_value
- Nom du champ :
- Ordre de tri : par séquence de 12 octets
Expression régulière
- API REST
- Nom du champ :
entityValue - type : mappage d'entités JSON contenant
__regex__avec des propriétés pourpatternetoptions
- Nom du champ :
- API RPC
- Nom du champ :
entity_value - type : message
Entityreprésentant une expression régulière avec les propriétéspatternetoptions
- Nom du champ :
- Ordre de tri : par motif, puis par options
Chaîne de texte
- API REST
- Nom du champ :
stringValue - type : chaîne
- Nom du champ :
- API RPC
- Nom du champ :
string_value - Type :
string
- Nom du champ :
- Ordre de tri : ordre des octets encodés en UTF-8
- Remarques : Jusqu'à 1 500 octets si la propriété est indexée. Sinon, jusqu'à 1 048 487 octets (1 Mio – 89 octets).
Ordre des types de valeurs
Lorsqu'une requête implique une propriété avec des valeurs de différents types, une base de données en mode Datastore emploie un ordre déterministe basé sur les représentations internes. La liste suivante indique l'ordre appliqué :
- Valeurs Null
- MinKey
- Entiers 32 bits
- Entiers 64 bits et codes temporels
- Valeurs booléennes
- Chaînes d'octets et chaînes Unicode
- Octets avec sous-types
- Doubles (NaN trié en dernier)
- Points géographiques
- Clés du mode Datastore
- ObjectId
- Code temporel BSON
- Expression régulière
- Decimal128 (NaN trié en dernier)
- MaxKey