下面的函數應該很簡單吧?這也是我的想法。儘管如此,對於我的生活,我無法弄清楚爲什麼我總是收到一條錯誤消息,告訴我一個「ValidationException
」,出現錯誤通知我「Query key condition not supported
」。用AWS DocumentClient小於二級索引查詢 - 「查詢鍵條件不支持」
const getUpdated = (refreshDatetime, callback) => {
refreshDatetime = parseInt(refreshDatetime);
docClient.query({
TableName: 'aw-reach',
IndexName: 'updateDatetime-index',
KeyConditionExpression: ':refreshDatetime < updateDatetime',
ExpressionAttributeValues: {
':refreshDatetime': refreshDatetime,
}
}, (error, data) => {
if (error) callback(error, null);
callback(null, data.Items);
});
};
只是爲了確保我沒有做其他任何事情令人難以置信的愚蠢的(一個明顯的可能性也一樣),這裏是我使用的測試片段。
const refreshDatetime = Date.parse('01 Jan 2015');
getUpdated(refreshDatetime, (error, response) => {
console.log(JSON.stringify(response));
});
洞察和想法的歡迎和高度讚賞爲編寫代碼,甚至這小小的代碼,絕對不是我的最強的天賦!
更新:要添加更多詳細信息,我的散列鍵是reachId
,與我的二級索引關聯的分區鍵是updateDatetime
。
是refreshDatetime你的散列鍵? –
它是與索引關聯的分區鍵。 – knu2xs