Я использую рамки DynamoDB и zend.получить значения из глобальных вторичных индексов таблица
Я могу получить строку из обычной таблицы, используя это.
$response['Items'] = $this->dbClient->query(
array(
"TableName" => "user",
"KeyConditions" => array(
"userId" => array(
"ComparisonOperator" => ComparisonOperator::EQ,
"AttributeValueList" => array(
array(Type::NUMBER => 2))
)
)
)
);
Но как я могу получить информацию на основе глобальных вторичных индексов. У меня есть два поля в этой таблице Id и email.
Я хочу искать по электронной почте и получать идентификатор из глобальной таблицы вторичных индексов. И я хочу использовать этот идентификатор, чтобы получить всю другую информацию пользователя из главной пользовательской таблицы. Я хочу сделать это в местном DynamoDB.
Как я могу получить идентификатор по электронной почте из глобальной таблицы вторичных индексов в рамках zend?
является "электронной почты" первичный ключ? Затем он должен работать, чтобы получить идентификатор, выбирая строку по электронной почте (ее первичный ключ). и использование этого идентификатора. Я не понимаю, почему ваша основная пользовательская таблица не настроила «email» как вторичный индекс, и это должно решить проблему сразу. Помните, что вторичные индексы могут быть созданы при создании таблицы. Также вам нужно указать, какие столбцы доступны для восстановления через вторичный индекс. – tavi
это дизайн базы данных для DynamoDB. Да, я создаю вторичную таблицу индексов после создания таблицы. – keen