es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Consultas de almacenamiento en la nube, ¿dónde está la clave?

He almacenado algunos datos en Google Cloud Datastore.

Consultar los datos no es un problema, puedo utilizar un iterador y obtener las propiedades de los datos.
ejemplo;
https://cloud.google.com/datastore/docs/concepts/queries#projection_queries

var priorities []int
var percents []float64
it := client.Run(ctx, query)
for {
    var task Task
    if _, err := it.Next(&task); err == iterator.Done {
            break
    } else if err != nil {
            log.Fatal(err)
    }
    priorities = append(priorities, task.Priority)
    percents = append(percents, task.PercentComplete)
}

Puedo acceder a las Propiedades de la entidad sin problema pero no tengo idea de cómo leer/acceder a las claves.

¿Cómo obtengo las claves?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para acceder a las claves de entidades en Google Cloud Datastore utilizando Go, puede utilizar el método Key de la estructura Task, que es devuelta por el método Next del iterador.

    Puede modificar el fragmento de código mencionado en la pregunta de la siguiente manera para obtener las claves:

    var keys []*datastore.Key
    var priorities []int
    var percents []float64
    it := client.Run(ctx, query)
    for {
        var task Task
        key, err := it.Next(&task)
        if err == iterator.Done {
            break
        } else if err != nil {
            log.Fatal(err)
        }
        keys = append(keys, key)
        priorities = append(priorities, task.Priority)
        percents = append(percents, task.PercentComplete)
    }
    

    Aquí, estamos utilizando el método Next para obtener tanto la entidad Task como su clave asociada. Agregamos estas claves a la lista keys para su uso posterior.

Comments are closed.