Как работать с полем EmbeddedEntity Google Datastore - PullRequest
0 голосов
/ 18 марта 2020

У меня есть тип хранилища данных в GCP, как показано ниже: Kind name: "Test"

Поля:

  • name - string
  • date_of_birth - - дата и время - обнуляется
  • категория - EmbededEntity - обнуляется

Значение поданной категории следующее:

{"technology":{"start_date":"2020-01-10",   "end_date":"2020-03-31",    "desgnation":"teamlead",    "project_handle":2},"management":{"start_date":"2020-01-10",    "end_date":"2020-03-31",    "desgnation":"trainee", "project_handle":2}}

Как в Java: Карта

В Go я использовал Go библиотеку Google DataStore для извлечения записи из хранилища данных и использовал следующую структуру

type Test struct{
    Name string `datsttore:"name"`
    DOB Time.time   `datastore:"date_of_birth"`
    category interface{} `datastore:"category"` 
}

Когда значение поля категории присутствует, как упомянуто в вышеприведенном примере, тогда struct заполняется правильно, но если значение категории равно null, то из библиотеки хранилища данных он выбрасывает пани c из следующего выделенного выполнения.

enter image description here

1 Ответ

0 голосов
/ 19 марта 2020

Похоже, что если вы хотите иметь нулевое значение для категории, вам нужно сделать его указателем. Документы показывают использование *Entity для нулевого встроенного объекта.

Вы видите ошибку, описанную в ' Загрузка пустых значений '

...