Как видно из заголовка, я хочу знать, какой способ сканирования таблицы в Amazon DynamoDB является наилучшим: поиск по другому полю, чем по первичному ключу.
Я искал об этом и много читал, но я нашел это решение для меня:
let DynamoDBServiceObj = new AWS.DynamoDB({apiVersion: '2012-08-10'});
let params = {
ExpressionAttributeValues: {
':hash' : { S: req.param('wildcard') }
},
ProjectionExpression: 'directory',
FilterExpression: 'qrCode = :hash',
TableName: 'business'
};
let business = await DynamoDBServiceObj.scan(params).promise();
if (business.Count == 1) return res.ok();
else return res.view('404');
Это работает для меня, но я также читал, что выполнение сканирования на столе - плохая идея с точки зрения производительности и цены. Но как это сделать тогда?
Какой правильный способ сканирования таблицы, поиск по другому , чем первичный ключ?
В чем разница между DocumentClient и DynamoDB Object ?
Я всегда использую .get () для получения того, что я хочу на DynamoDB. Это хорошо или плохо практика ?
Я читаю эти посты и полагаю, что GSI - это решение, но я не понимаю, как оно работает.