Я работаю с таблицей db Dynamo, которая использует gsi, поэтому я могу запрашивать через дополнительный атрибут, если он присутствует. Этот атрибут будет обновляться в процессе, поэтому все элементы не имеют этого атрибута в начале процесса. Этот атрибут устанавливается как первичный ключ gsi при добавлении к элементу.
Все работает по назначению, за исключением того факта, что я не могу вставить новый элемент, не указав также первичный ключ gsi. Я хочу, чтобы gsi игнорировал элемент, если его первичный ключ еще не установлен. Я думал, что это возможно с помощью опции INCLUDE при указании проецируемых атрибутов. Очевидно, я ошибаюсь здесь, но я также не знаю, как решить эту проблему.
Любая помощь приветствуется, и мне также придется придерживаться динамо-базы данных, поэтому каждая подсказка, включая эту базу данных, очень помогает!
РЕДАКТИРОВАТЬ: Для пояснения - это мои атрибуты:
- id (первичный ключ: обязательно)
- имя (Атрибут)
- год (атрибут)
- gsi_id (первичный ключ GSI: необязательно)
Я хочу добавить элемент с полями:
- id (первичный ключ: обязательно)
- имя (Атрибут)
- год (атрибут)
а затем добавьте поле gsi_id.