DynamoDB 字符串数组变为对象数组

ykn*_*121 1 node.js amazon-dynamodb aws-sdk

我将一个字符串数组插入到 DynamoDB 中:

[13, 12, 12, 4]
Run Code Online (Sandbox Code Playgroud)

当我在 DynamoDB 中查看它时,它变成了对象数组:

[ { "S" : "13" }, { "S" : "12" }, { "S" : "12" }, { "S" : "4" }]
Run Code Online (Sandbox Code Playgroud)

合理吗?我需要做些什么才能将我的数据作为字符串数组插入吗?

以下是我将数组放入 DynamoDB 的方法:

var params = {
   TableName: "MatchDate",
   Item:{
      position: [1, 3, 4, 5]
   }
};

DynamoDBClient.put(params, function(err, data) {
   //Some other code
});
Run Code Online (Sandbox Code Playgroud)

F_S*_*O_K 5

如果您想要单个对象(字符串数组),则需要将属性类型设置为String Set

然后你会得到

"SS": ["13", "12" ,"12", "4"]
Run Code Online (Sandbox Code Playgroud)

或者您可以使用数字集

"NS": ["13", "12" ,"12", "4"]
Run Code Online (Sandbox Code Playgroud)

编辑:在nodejs中尝试这样的事情

var params = {
   TableName: "MatchDate",
   Item: {
   "position": {
      SS: [
         '12',
         '13',
         '4'
      ]
   }
};

DynamoDBClient.put(params, function(err, data) {
   //Some other code
});
Run Code Online (Sandbox Code Playgroud)

在此处查看Javascript putItem 的 AWS 参考