DynamoDB如何附加到嵌套对象列表



在DynamoDB中,我有一个名为Property的表,其中包含一个名称为listings的嵌套对象列表。我希望能够将listing对象添加到Property表中,但DynamoDB似乎不支持复杂的对象。我试过下面的,但收到了java.lang.UnsupportedOperationException: value type: class com.listii.data.model.response.ListingResponse

在更新之前,是否必须将listing对象转换为包含其所有属性的Strings映射?有没有更简单的方法?

DynamoDB dynamoDb = new DynamoDB(client);
Table propertyTable = dynamoDb.getTable("Property");
ListingResponse listingItem = this.getListingById(listingId);
ValueMap map = new ValueMap().withList(":listingToAttach", Arrays.asList(listingItem));
UpdateItemSpec updateItemSpec = new UpdateItemSpec()
.withPrimaryKey("propertyId", propertyId)
.withUpdateExpression("SET listings = list_append(listings, :listingToAttach)")
.withValueMap(map);
return propertyTable.updateItem(updateItemSpec);

您可以使用索引来完成此操作。首先获取要更新的列表的索引(可以使用基本的for循环(。然后,更新表达式将只使用

SET listing[${listingIndex}]= list_append(listings, :listingToAttach)

(使用typeScript(

相关内容

  • 没有找到相关文章