2015-05-25 2 views
5

Я пытаюсь создать индекс на вложенном поле, используя панель инструментов в консоли AWS Developer Console. Например. если у меня есть следующая схема:Индексирование на вложенном поле

{ 'id': 1, 
    'nested': { 
    'mode': 'mode1', 
    'text': 'nice text' 
    } 
} 

Я был в состоянии создать индекс на nested.mode, но всякий раз, когда я затем запрос по индексу, ничего не возвращается. Мне кажется, что DynamoDB создал индекс по имени поля nested.mode вместо поля modenested. Любые подсказки re. что я могу делать неправильно?

ответ

11

Вы не можете (в настоящее время) создать вторичный индекс с вложенным атрибутом. Из Improving Data Access with Secondary Indexes in DynamoDB documentation (курсив мой):

Для каждого вторичного индекса, необходимо указать следующее:

...

  • Ключ схемы для индекса. Каждый атрибут в схеме ключа индекса должен быть атрибутом верхнего уровня типа String, Number или Binary. Вложенные атрибуты и многозначные наборы не допускаются. Другие требования к ключевой схеме зависит от типа индекса:

Вы можете, однако, create an index on any top level JSON element.

Смежные вопросы