使用DynamoDBMapper进行DynamoDB查询

时间:2018-04-10 22:18:22

标签: amazon-web-services amazon-dynamodb

说我是否有DynamoDB表:

UserId (hash): S
BookName (range): S
BorrowedTime: S
ReturnedTime: S

UserId是主键(哈希),我需要将BookName设置为排序键(范围),因为添加到数据库的另一个项目使用相同的UserId覆盖了之前的项目。

如何使用DynamoDBMapper创建查询,但是查询的字段是时间字段(非键)?例如,假设我想要返回两周前借来的还没有退还的书籍的UserId和BookName吗?

我是否需要在BorrowedTime和ReturnedTime字段上设置GSI?

1 个答案:

答案 0 :(得分:0)

是的,您可以使用BorrowedTime和ReturnedTime制作GSI,或者您可以使用扫描而不是查询,如果使用扫描您不需要制作gsi但扫描操作扫描整个数据库,因此不建议大型数据库或经常使用。