【发布时间】:2016-06-11 08:13:10
【问题描述】:
我将 Python 的 boto3 用于 Amazon 的 api 和 dynamodb。
我想存储喜欢帖子的人的 ID。当有人喜欢帖子时,我目前正在附加到该列表(每个帖子都有 likeBy 列表)。
当有人喜欢帖子时,我正在使用 SET likedBy = list_append(likedBy, :v) 添加到列表中。
例如:
"likedBy" : [
{
"on": 1455736397,
"userId": 232323
},
{
"on": 1455736398,
"userId": 46
}]
但是当他们再次不喜欢时,我如何从列表中删除该特定用户?而且我想确保一个用户只能喜欢一次帖子? (确保 likeBy 列表中的 userId 是唯一的)
我能想到的一个解决方案是获取整个列表并检查列表是否有 userId,然后找到索引并使用 AWS updateexpression REMOVE likedBy[index] 删除。 (我知道这不是正确的方法)
【问题讨论】:
-
你的 dynamodb 哈希/范围键是什么?
-
哈希键是 postId,我没有范围键。我可以使用 postId 访问 likeBy 列表,但我想使用内部嵌套元素操作列表项
标签: python python-2.7 amazon-web-services amazon-dynamodb boto