AWS dynamoDB按日期查询
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AWS dynamoDB按日期查询相关的知识,希望对你有一定的参考价值。
我正在尝试查询dynamoDB中的值,我仍然有错误。日期是ISO-8601(String)= createdAt,是排序键。
我的参数:
{ TableName: 'Pool',
ExpressionAttributeValues: { ':oin': 'lol', ':from': '2017-12-16T20:26:02.594Z' },
KeyConditionExpression: 'oin = :oin',
ConditionExpression: 'createdAt >= :from',
ProjectionExpression: 'createdAt, h10m, h30m, h1h, h24h, accepted, stale, dupl, oth',
ScanIndexForward: false }
我尝试GE的结果相同。
我在Node.js中使用此代码生成日期:
var date = new Date();
date.setHours(date.getHours()-24);
var dateiso = date.toISOString();
我收到以下错误:
ValidationException: Value provided in ExpressionAttributeValues unused in expressions: keys: {:from}
任何想法如何解决ConditionExpression?谢谢
答案
错误消息似乎表明您有一个未使用的ExpressionAttributeValue:from。
您指定的ConditionExpression属性只能用于Update,Delete和PutItem操作。如果createdAt属性是排序键,则需要在KeyConditionExpression中指定它以及oin。
例如:
KeyConditionExpression:'oin =:oin AND createdAt> =:from'
以上是关于AWS dynamoDB按日期查询的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 AWS Lambda 按名称查询 dynamoDB 表
如何按日期(范围键)查询 DynamoDB,没有明显的哈希键?