gpt4 book ai didi

java - 在 DynamoDB 中存储对象列表并部分检索它们

转载 作者:行者123 更新时间:2023-11-30 10:38:08 26 4
gpt4 key购买 nike

这可能会将两个单独的问题合并为一个问题。但这是我目前的用例。我有一个具有特定属性的 POJO。

它可能看起来像:

class MyObject {
String id;
String name;
int size;

getters and setters () ....
}

现在我有这些对象的列表 - 我希望将其存储在 Dynamo 中的单个列表中。有点像

RecordID            Attributes
abcd123 List<MyObject>

我可以按上述格式将数据存储在 Dynamo 中吗?我的第二个问题与上述用例有关。

现在我已经存储了记录,我可以检索列表的特定部分吗?比如,我希望从 DyanmoDBQuery 请求返回索引 0 - 5,而不是整个列表本身。

这可能吗?

我是 DynamoDB 的新手,我不确定在 Dynamo 中存储自定义对象的支持有多好。

最佳答案

如果您能够修改您的架构并移动到分区排序键架构,其中分区键是 RecordID,排序键是 ItemNumber,其中 Item 编号是 abcd123< 中每个 MyObject 的索引 上面的列表,然后你可以用范围查询得到子列表:

项目示例:

RecordID (partition key) asdfasdfadsf
ItemNumber (sort key) 0
Item an instance of MyObject

范围查询参数:

KeyCondition: RecordId = :rid AND ItemNumber BETWEEN :lower AND :upper
ExpressionAttributeValues = { ":rid": "asdfasdfasdf", ":lower": 0, ":upper": 5 }

请注意 :upper 边界是包含在内的,因此上面的查询示例将返回带有 RecordId=asdfasdfasdf 和 ItemNumbers 0、1、2、3、4 的 MyObjects,和 5.

关于java - 在 DynamoDB 中存储对象列表并部分检索它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39861400/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com