我正在尝试使用 dynamodb 中的 Map 数据类型来插入我的 JSON 对象。我从外部 API 获取的 JSON 有点长,并且其中嵌套了对象数组。 (我使用的是nodejs。)
{
"a": "foo",
"b": "foo1",
"c": [{
"boo": 10,
"boo1": 15
}, {
"boo": 19,
"boo1": 45
}, {
"boo": 11,
"boo1": 25
}]
}
从我迄今为止所做的研究看来,我必须为我尝试插入/更新的 json 中的每个元素指定类型。这使得事情变得更加困难,因为在我的例子中,json 可以有任何内容。
如果有人遇到同样的问题并知道解决方案,请告诉我。
最佳答案
仅当您使用低级 AmazonDB API 时,才需要为每个值指定确切类型。
但是您可以使用 AWS SDK,这会让事情变得更容易,并且您可以直接使用 json 表示法。
我没有使用node.js SDK(有使用python SDK的经验),但是查看examples ,这对于 Node.js 来说也是如此。
检查这个:
var AWS = require("aws-sdk");
AWS.config.update({
region: "us-west-2",
endpoint: "http://localhost:8000"
});
var docClient = new AWS.DynamoDB.DocumentClient();
var table = "Movies";
var year = 2015;
var title = "The Big New Movie";
var params = {
TableName:table,
Item:{
"year": year,
"title": title,
"info":{
"plot":"Something happens."
}
}
};
console.log("Adding a new item...");
docClient.put(params, function(err, data) {
if (err) {
console.error("Unable to add item. Error JSON:", JSON.stringify(err, null, 2));
} else {
console.log("Added item:", JSON.stringify(data, null, 2));
}
});
此处,传递到 docClient.put
调用的 params
内的 Item
只是一个普通的 JavaScript 对象。
关于json - 如何更新 dynamoDB 中 map 数据类型的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35002216/