[英]Making delete, update, insert and get operations nested json data structure on dynamodb
我想更新,刪除房間列表中帶有 roomId 的房間。 我應該向 roomId 添加二級索引嗎? 應該如何更新和刪除查詢? 我也想用 roomId 獲取房間信息。
對於移除房間,代碼結構可以是這樣的:
const roomItem = {
TableName: 'Home',
Key: {
homeId: homeId
},
IndexName: 'roomId-index',
ConditionExpression: 'rooms.roomId = :roomId',
ExpressionAttributeValues: {
':roomId': roomId
}
};
await dynamodb.delete(roomItem).promise();
在非頂級屬性上創建二級索引
您不能在作為嵌套屬性的rooms.roomId
上創建Secondary Index
請參閱https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/SecondaryIndexes.html
索引鍵架構中的每個屬性都必須是字符串、數字或二進制類型的頂級屬性。
--
為了能夠通過roomId
進行檢索,您可以選擇:
Scan
,或roomId
成為新Table
中表的Key
的 / 一部分,以便您可以使用實現毫秒Query
檢索例子
Hash Key (House Id) | Range Key (Room Id)
---------------------+---------------------
55555555 | 1
---------------------+---------------------
55555555 | 2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.