Record1: [{
"business_id": 2,
"form_id": 1,
"forms": {
"v2": {
"id": "f522",
"is_deleted": 0,
"title": "Form 1"
},
"v3": {
"id": "f8b6",
"is_deleted": 0,
"title": "Form 2"
},
"v1": {
"id": "fw56",
"is_deleted": 0,
"title": "Form 3"
},
"v5": {
"id": "fw56",
"is_deleted": 0,
"title": "Form 3"
},
"v4": {
"id": "fw56",
"is_deleted": 0,
"title": "Form 3"
}
}
}]
我将在dynamo Db表中添加以上记录。我将在表单对象中添加映射。我按照以下顺序添加了映射值v2,v3,v1,v5,v4。但它存储在dynamo DB中,如下面的顺序v1,v2,v3,v4,v5。 我不想改变映射顺序。请建议。
答案 0 :(得分:0)
问题是,您的forms
属性具有Map
类型,这不会保留项目的顺序。
地图类型属性可以存储名称值的无序集合 对
要保留forms
容器中子项的顺序,我会将属性转换为List
,如下所示:
Record1: {
"business_id": 2,
"form_id": 1,
"forms": [
{"formKey": "v2", "id": "f522", "is_deleted": 0, "title": "Form 1"},
{"formKey": "v3", "id": "f8b6", "is_deleted": 0, "title": "Form 2"},
{"formKey": "v1", "id": "fw56", "is_deleted": 0, "title": "Form 3"},
{"formKey": "v5", "id": "fw56", "is_deleted": 0, "title": "Form 3"},
{"formKey": "v4", "id": "fw56", "is_deleted": 0, "title": "Form 3"}
]
}