说我是否有DynamoDB表:
UserId (hash): S
BookName (range): S
BorrowedTime: S
ReturnedTime: S
UserId是主键(哈希),我需要将BookName设置为排序键(范围),因为添加到数据库的另一个项目使用相同的UserId覆盖了之前的项目。
如何使用DynamoDBMapper创建查询,但是查询的字段是时间字段(非键)?例如,假设我想要返回两周前借来的还没有退还的书籍的UserId和BookName吗?
我是否需要在BorrowedTime和ReturnedTime字段上设置GSI?
答案 0 :(得分:0)
是的,您可以使用BorrowedTime和ReturnedTime制作GSI,或者您可以使用扫描而不是查询,如果使用扫描您不需要制作gsi但扫描操作扫描整个数据库,因此不建议大型数据库或经常使用。