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

如何更新DDB中嵌套在映射中的字符串集

盖昀
2023-03-14

我试图使用带有Javascript SDK的UpdateItem将一个字符串集添加到一个项目中的另一个字符串集上

我的参数如下:

        var params = {
            Key: {
                "MyKeyName" : {"S" : "MyKeyValue" }
            },
            TableName: "TableName",
            ExpressionAttributeNames: {
                "#Name1" : "mapName"
            },
            ExpressionAttributeValues: {
                ":Value1" : {"M" : {"StringSetName" : {
                                "SS": ["ValueToAdd"]
                                }
                            }
                }
            },
            UpdateExpression: "ADD #Name1 :Value1"
        };

现在,这不起作用,因为“添加”仅适用于数字和集合,而该集合嵌套在地图下,会触发以下错误:

运算符或函数的操作数类型不正确;运算符:加法,操作数类型:映射

我尝试将属性名更改为mapName. M. StringSetName,并使值{"SS":["ValueToAdd"]。这没有触发错误,但也没有将值添加到集合中。

任何关于如何做到这一点的想法,听起来都应该与我正在尝试的接近。

共有1个答案

习高格
2023-03-14

你应该能够做到这一点:

var AWS = require('aws-sdk')
var DB = new AWS.DynamoDB.DocumentClient()
var params = {
  TableName: "TableName",
  Key: { MyKeyName: "MyKeyValue" },
  UpdateExpression: "ADD #Name1.StringSetName :Value1",
  ExpressionAttributeNames: { "#Name1" : "mapName" },
  ExpressionAttributeValues: { ":Value1": DB.createSet(["ValueToAdd"]) }
}
DB.update(params)
 类似资料:
  • 我有一个dynamodb表,它的一个属性包含一个嵌套的映射,我想更新一个特定的库存项目,该项目通过一个过滤器表达式进行过滤,从而从该映射中生成一个项目。 如何编写一个更新表达式来更新位置到名称=欧宝的项目的“就位三”,标签包括“x1”(也可能是f3)?这应该只更新第一个列表元素位置属性。

  • 问题内容: 当我用Java进行操作时,我在stdout中得到了很好的输出。在不干预标准输出的情况下,如何在变量中获得相同的a字符串表示形式?像什么? 问题答案: 使用。 所有的亦是在此之后是做头套下。地图的格式在中描述。 返回此映射的字符串表示形式。字符串表示形式由键值映射列表组成,这些键值映射由地图视图的迭代器返回,并用大括号(“ {}”)括起来。相邻的映射用字符“,”(逗号和空格)分隔。每个键

  • 我不知道如何在Java类中处理嵌套的JSON值。为了尽可能简单,我创建了四个Java类,每个类都有“嵌套级别”。然而,我试图在一个Java类中包含所有这些值。我该怎么做? Json: Java类:

  • 输入 system.out.println(leetspeech(“柏林”,替换(“b=8,l=1”)));//=>8er1in 柏林的B和l换成了一个8和1。 我的方法看起来是这样的 但不行,有人能帮我吗?

  • 我想匹配括号内的字符串,如: 字符串也可以包含闭括号。如何在不编写解析器的情况下将其与Java中的正则表达式匹配,因为这是我项目的一小部分。谢谢 编辑: 我想搜索一个字符串块,找到类似于,或只是

  • 问题内容: 当前,我有一堆实现接口的Java类,这意味着它们都具有方法。这个想法是,每个类都有几个(例如<10)成员,并且每个类都通过方法映射到该类中的方法,如下所示: 你明白了。 这对我来说很好,但是现在我需要一个从键到函数的运行时可访问的映射。并非每个函数 实际上都 返回一个String(有些返回void),并且我需要动态地访问每个具有键的类中每个函数的返回类型(使用反射)。我已经有一位经理,