json - 如何更新 dynamoDB 中 map 数据类型的项目

标签 json node.js amazon-dynamodb

我正在尝试使用 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/

相关文章:

python - 使用 yield 流式传输到 JSON 文件

javascript - 使用 jQuery 解析 JSON

node.js - (错误)ERR 未知命令 'redis-cli'

node.js - npm 安装在多域 git 存储库上失败

amazon-dynamodb - 错误 : Resolver associated with data sources

python - 使用 SQLAlchemy 导入的 Postgresql 数据将 JSON 转换为 Python Dict

javascript - 在模态中显示原始 JSON

node.js - 响应错误 : Expected 4 or 0 byte int

ios - aws dynamodb 如何在 ios 中使用对象映射器和批处理获取

python - 在 DynamoDB 表中存储项目,其中键和范围键可能重叠