Я изучил много статей и блогов и, наконец, пришел к выводу, что мне нужна только одна базовая таблица для всего приложения, а затем много глобальных вторичных индексов в соответствии с моими шаблонами доступа.Теперь я застрял в проблеме.
Моя структура базовой таблицы: -
**PK**
**SK**
**data**
university
uni_uuid
name
course
course_uuid
uni_uuid
Как вы увидите, когда я добавлю новый курс, он всегда будет иметь университетский UUID, который будет сохраняться в ключе university_uuid с записью курса.
Теперь я хочу перечислить все курсы для администратора.Поэтому я запрашиваю динамодаб вроде: -
var params = {
TableName: "BaseTable",
FilterExpression:"PK = :type",
ExpressionAttributeValues: {
":type": "Course"
}
};
docClient.scan(params, onScan);
var count = 0;
function onScan(err, result) {
if (err) {
console.error("Unable to scan the table. Error JSON:", JSON.stringify(err, null, 2));
} else {
resolve(result);
}
}
Это успешно возвращает мне все добавленные курсы.Как: -
Теперь мой вопрос заключается в том, как я могу показать название университета в столбце Университет.В настоящее время University_uuid отображается здесь.Нужно ли мне выполнить другой запрос и найти название университета по его uuid, если это так, то для 100 курсов мне нужно выполнить еще 100 запросов для каждого названия курса.
Любая помощь будет высоко оценена !!