Получаване на ключова стойност на хранилището на данни на Google с Go

Имам структура:

type struct Foo {
    Id ??
    Name string
}

Получавам списък с действията на Foos, където "c" е NewContext():

    q := datastore.NewQuery("Drug")
    var foos []Foo
    _, err := q.GetAll(c, &foos)

Идентификационният номер не се попълва, но името е. Опитвам се да разбера как да накарам идентификатора да се попълни


person bmw0128    schedule 27.10.2014    source източник


Отговори (1)


Функцията GetAll връща част от ключовете:

keys, err := q.GetAll(c, &foos)

Ключът за foos[i] е keys[i].

Използвайте цикъл, за да съхраните идентификатора в обекта, ако това е, от което се нуждаете:

for i := range keys {
   foos[i].ID = keys[i].IntID() // or .StringID()
}
person Community    schedule 27.10.2014