获取最大日期/获取DynamoDB中最后添加的项目

时间:2013-12-02 13:01:26

标签: c#-4.0 nosql amazon-dynamodb

嗨这是我的表架构

联系人表格:

"KeySchema": [{
    "AttributeName": "DateTimeRetrieved",
    "KeyType": "HASH"
},{
    "AttributeName": "Id",
    "KeyType": "RANGE"
}]

我的主键将DateTimeRetrieved作为主键。我想检索输入表格的最新日期时间。它也等于最后添加的日期时间。

有没有办法查询这个? 。谢谢!

2 个答案:

答案 0 :(得分:2)

不建议这样做:如果您的表格很小,您可以始终Select所有数据并在应用程序级别对其进行排序。

尝试在哈希键中查找顺序有点侮辱。订购是在范围和二级指数上完成的。要有效地使用DynamoDB,您应该将数据建模为“存储桶”(哈希键),并在第二级使用Query提问。

在不知道你实际建模的情况下,它很难提供帮助,但是Local Secondary Indexes的良好读取允许您甚至对属性进行查询。 使用范围/ LSI,您可以对行进行排序并查询“最后一行”。

答案 1 :(得分:0)

我会将日期放在范围内,以便使用“startsWith”参数执行Query。

例如:

键:YYYY-MM中的日期 范围键:DD + Id中的日期

所以,您可以发出类似“给我2013-12的所有项目以”0“开头的日期(这将为您提供2013年12月01日至09日期间的所有项目)。

然后在应用程序级别,您可以解析ID