установить `exclude_from_indexes` для типа данных Array - PullRequest
0 голосов
/ 15 февраля 2020

Я храню список строк , используя Array тип данных в хранилище данных (например, ["name1", "name2", ...]). По мере роста списка я не могу подтвердить запись.

INVALID_ARGUMENT: слишком много проиндексированных свойств

Согласно https://cloud.google.com/datastore/docs/concepts/entities#array, даже если для свойства установлено значение exclude_from_indexes, оно игнорируется. Веб-интерфейс хранилища данных также не имеет флажка Index, чтобы я мог снять отметку.

Поэтому я выбрал только один вариант - преобразовать Array в тип String и разобрать в JSON Объект каждый раз, когда я читаю из БД и записываю обратно в строковом виде.

Интересно, это правильный подход или есть более эффективные способы сделать это, о которых я не знаю.

Спасибо

1 Ответ

0 голосов
/ 17 февраля 2020

Вы должны установить exclude_from_indexes для каждого значения массива. Вот что «Для того, чтобы свойство было неиндексировано, поле Value значения exclude_from_indexes должно быть установлено в true». средство.

...