Los objetos de datos de Datastore se denominan entidades, y cada uno de ellos se clasifica en un tipo concreto para las consultas. Por ejemplo, si estás escribiendo una aplicación de recursos humanos, puedes representar a cada empleado con una entidad de tipo Employee
. Ten en cuenta que los valores de los datos de la entidad tienen el formato de propiedades.
Para obtener más información sobre las entidades, consulta el documento de conceptos Entidades, propiedades y claves.
Crear entidades y definir propiedades
En Go, se crea una entidad construyendo una instancia de una estructura de Go, rellenando sus campos y llamando a datastore.Put
para guardarla en Datastore. Solo se guardarán en Datastore los campos exportados (que empiezan por una letra mayúscula). Puedes especificar el nombre de la clave de la entidad pasando un argumento stringID
no vacío a datastore.NewKey
.
En el siguiente ejemplo se crea una entidad de tipo Employee
, se rellenan los valores de sus propiedades y se guarda en Datastore:
El tipo Employee
declara cuatro campos para el modelo de datos: FirstName
, LastName
, HireDate
y AttendedHRTraining
.
Si proporcionas un nombre de clave vacío o usas datastore.NewIncompleteKey
, Datastore generará automáticamente un ID numérico para la clave de la entidad:
Obtener entidades
Para recuperar una entidad identificada por una clave determinada, pasa el *datastore.Key
como argumento a la función datastore.Get
. Puedes generar el *datastore.Key
con la función datastore.NewKey
.
datastore.Get
rellena una instancia de la estructura Go adecuada.
Actualizar entidades
Para actualizar una entidad, modifique los atributos de la estructura y, a continuación, llame a datastore.Put
. Los datos sobrescriben la entidad. El objeto completo se envía a Datastore con cada llamada a datastore.Put
.
Eliminar entidades
Si tienes la clave de una entidad, puedes eliminarla con la función datastore.Delete
:
Eliminar entidades en bloque
Si necesitas eliminar un gran número de entidades, te recomendamos que utilices Dataflow para eliminar entidades en bloque.
Usar operaciones en lote
Puede usar las siguientes operaciones por lotes si quiere operar con varias entidades en una sola llamada a Datastore:
Aquí tienes un ejemplo de una llamada por lotes:
Las operaciones por lotes no modifican tus costes. Se te cobrará por cada clave de una operación por lotes, independientemente de si existe o no. El tamaño de las entidades implicadas en una operación no afecta al coste.