Lambda + Nodejs + dynamodb : 存储 json: 为什么要放置存储数据类型的项目?



我正在尝试使用下面给出的代码将 json 对象存储在 dynamodb 中。

exports.handler = function (event, context, callback) {
var docClient = new AWS.DynamoDB.DocumentClient();
var table = "Logs";
id_val = 1
var params = {
TableName: table,
Item: {
"id": id_val,
"message": event
}
};
docClient.put(params, function(err, data) {
if (err) {
callback(null, JSON.stringify(err, null, 2));
context.fail("Unable to add item. Error JSON:", JSON.stringify(err, null, 2));
}
});
}

事件输入

[
{
"id": 1,
"demographic": {
"firstName": "John",
"middleName": "w",
"lastName": "Doe",
"suffix": "jr",
"birthDate": "1990-02-02",
"gender": "M",
"ssn": 123
}
}
]

表中存储的内容

{
"id": {
"N": "84.20420287568176"
},
"message": {
"L": [
{
"M": {
"demographic": {
"M": {
"birthDate": {
"S": "1990-02-02"    
...
...
...

为什么数据类型存储在表中?如何分解它以便单独存储属性?

这就是dynamoDB存储数据的方式,因为当我们查看数据时,我们应该能够知道字段的数据类型,这与关系数据库中列的数据类型完全相同。虽然当我们通过实际应用程序或 API 从 dynamoDB 获取数据时,数据存储和显示在 dynamoDB 中,但我们可以摆脱数据类型,这将仅返回实际数据。

最新更新