0

我是 aws dynamodb 的新手并点击查询,如下所示

let params = {
    TableName: tableName
};
if (from && to) {
    params.FilterExpression = 'createdOn >= :from and createdOn <= :to';
    params.ExpressionAttributeValues = { ":from": from, ":to": to }
}

return new Promise((resolve, reject) => {
    docClient.scan(params, (err, data) => {
        if (err) {
        //do stuff
      }else{//do stuff}
   });  
});

这是我的数据库架构

 const ApplicationDataSchema = {
    TableName: "data1", //config.get('aws_tables.APPLICATIONS_DATA'),
    KeySchema: [
    { AttributeName: "id", KeyType: "HASH" },
    { AttributeName: 'createdOn', KeyType: 'RANGE' }
    ],
    AttributeDefinitions: [
    { AttributeName: "id", AttributeType: "S" },
    { AttributeName: 'createdOn', AttributeType: 'N' }
    ],
    ProvisionedThroughput: {
      ReadCapacityUnits: 10,
      WriteCapacityUnits: 10
    }
  }

是否需要更改架构我没有得到正确的结果。createdOn 字段包含 epoc 时间,例如:“1548659664131”

4

1 回答 1

0

如果您想使用具有 2 个日期的过滤器表达式,您可能正在寻找 BETWEEN 语句。

'#createdOn 在 :from 和 :to 之间'

我建议您查看AWS 上的本指南,了解如何将 dynamodb 与 javascript 结合使用。

于 2019-01-28T06:54:35.370 回答