Получить только определенное свойство с помощью ключа в хранилище данных Google-Cloud с помощью golang - PullRequest
0 голосов
/ 13 июня 2019

В My Kind есть 3 объекта: FirstName, FamilyName и Email. Я хочу получить только ключ и FirstName, связанные с объектом.Например, в SQL: SELECT Id,FirstName from users;

В go-lang я попытался получить все данные в виде вида, как это

q := datastore.NewQuery(dataKind), а затем, чтобы получить ключи, я делаю это:

keys, err := q.GetAll(ctx, &users)

Я не хочу получать все свойства, а только ключи и FirstName.Мне было интересно, если есть способ сделать это в одном запросе хранилища данных?Как упоминалось ранее в моем предыдущем вопросе, я новичок в go-lang и datastore.Пожалуйста, помогите

1 Ответ

1 голос
/ 13 июня 2019

Используйте Проект , чтобы выбрать одно свойство.Свойство должно быть проиндексировано.Запрос не возвращает сущности, для которых свойство не установлено.

Следующий фрагмент возвращает ключи и пользователей, у которых установлено только поле FristName:

q := datastore.NewQuery(dataKind).Project("FirstName")
keys, err := client.GetAll(ctx, q, &users)
...