当前位置: 首页 > 知识库问答 >
问题:

如何删除boto3 DynamoDB密钥?

董俊
2023-03-14

这是我的DynamoDB JSON

{
  "follow_count": 3,
  "followed_back_count": 4,
  "followed_back_users": [
    32432
  ],
  "login": "login1",
  "target": "target1",
  "target_followed_users": [
    234232342,
    453453434,
    241413422
  ]
}

我需要删除target_followed_users从数据库所以我累了这个...

# Update for followed_back_users
table.update_item(
    Key={
        'login': login,
        'target': target,
    },
    UpdateExpression='DELETE followed_back_users = :followed_back_users',
    ExpressionAttributeValues={
        ':followed_back_users': db_followed_back_users
    }
)

我得到以下错误...

botocore.exceptions.ClientError:调用UpdateItem操作时发生错误(ValidationException):无效的UpdateExpression:语法错误;令牌:“=”,靠近:“跟踪的用户=:跟踪的用户”

共有1个答案

缑永年
2023-03-14

这绝对不是正确的语法。如果要从目标用户集中删除特定项目,请使用以下语法:

UpdateExpression='DELETE followed\u back\u用户:followed\u back\u用户'

其中,后跟用户将是要从集合中删除的值列表。

如果要从DynamoDB记录中完全删除followed\u back\u users属性,则应使用以下语法:

UpdateExpression='REMOVE followed\u back\u users'

 类似资料:
  • 问题内容: 我想删除与“用户*”匹配的键。 我如何在Redis命令行中做到这一点? 问题答案: 此功能目前无法一口气完成(请参阅文档中的注释)。不幸的是,您只能使用,遍历结果,然后使用来删除每个结果。 怎么样使用bash来帮助? 要逐步执行: -获取所有键并使用awk删除不需要的多余文本。 -为每一个创建一个echo语句以将其删除。 -使用DEL语句,然后将它们传递回cli。 不建议这样做是最好的

  • 问题内容: 我正在开发一个Android项目,该项目需要JSONObject作为POST请求的主体。放置JSON的键和值后,我得到了以下代码行: 但是服务器得到以下信息: 我已经尝试过JSONStringer,但是它的帮助并不大,因为的请求是。 更新 我不尝试构造JSONObject,因为已经通过使用以下代码行(由@osayilgan给出的代码)完成了此操作: 这不是问题。下述接口用于与服务器通信

  • 问题内容: 关闭。 这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 7年前关闭。 我想删除本地用户root的密码。我怎样才能做到这一点?我错误地设置了root用户的密码。这就是为什么phpmyadmin给出错误: 问题答案: 您需要将密码设置为空白。有两种方法: MySQL 命令: 使用命令行工具:

  • 如何删除我的如果我把它弄丢了?我必须加入一个新项目,但如果我试图提交、添加或推送任何内容,我会收到一个错误: 另一个git进程似乎正在该存储库中运行,例如,由“git提交”打开的编辑器。请确保所有进程都已终止,然后重试。如果仍然失败,那么git进程可能已经在此存储库中崩溃:手动删除该文件以继续。 有任何git comand重置我所有的用户设置,并开始使用git像在新计算机上?

  • 问题内容: 例 删除 后如何保持按键顺序?我希望它是0..1..2..3..etc 问题答案: 您无法更改密钥的名称,没有用于执行此操作的API。如果要更改密钥的名称,则需要将该特定对象复制到另一个位置,更改名称并删除旧的密钥。但是在Firebase中无法更改密钥名称。

  • 问题内容: 我已经打电话给其中包含。 迭代地图时,如果与指定的字符串匹配,则需要从地图中删除键。 即 包含,但我无法从中删除密钥。 而是得到错误: 问题答案: 尝试: 使用Java 1.8及更高版本,您只需一行即可完成上述操作: