DynamoDb 嵌套地图更新
DynamoDb Nested Map Update
在使用了一些 DynamoDb 之后,我 运行 遇到了一个问题,根据我目前所读到的内容,DynamoDb 并不是很理想。因此,在我切换到 RDS 之前,我想看看是否可以通过 DynamoDb 实现我需要的功能。我还考虑过将其分解为 DynamoDb
的多个表
低于我的数据架构。项目中嵌套了一个列表。我需要能够将字符串附加到列表中。
{
“server-id”: “123345678”,
“server-name”: “my-server”
“topics”: [
{
“name”: “my-topic”,
“subscribers”: [] //This is what I need to append
}
]
}
是的,这是可能的。
var AWS = require('aws-sdk');
AWS.config.update({region: 'us-east-1'});
var ddb = new AWS.DynamoDB({apiVersion: '2012-08-10'});
var params = {
ExpressionAttributeNames: {
"#T": "topics",
"#S": "subscribers"
},
ExpressionAttributeValues: {
":vals": {
L: [
{ N: "123" },
{ N: "456" }
]
}
},
Key: {
'server-id': { S: '123345678' }
},
ReturnValues: "ALL_NEW",
TableName: 'dummy-table',
UpdateExpression: "SET #T[0].#S = list_append(#T[0].#S, :vals)"
};
ddb.updateItem(params, function(err, data) {
if (err) {
console.log("Error", err);
} else {
console.log("Success", data);
}
});
在使用了一些 DynamoDb 之后,我 运行 遇到了一个问题,根据我目前所读到的内容,DynamoDb 并不是很理想。因此,在我切换到 RDS 之前,我想看看是否可以通过 DynamoDb 实现我需要的功能。我还考虑过将其分解为 DynamoDb
的多个表低于我的数据架构。项目中嵌套了一个列表。我需要能够将字符串附加到列表中。
{
“server-id”: “123345678”,
“server-name”: “my-server”
“topics”: [
{
“name”: “my-topic”,
“subscribers”: [] //This is what I need to append
}
]
}
是的,这是可能的。
var AWS = require('aws-sdk');
AWS.config.update({region: 'us-east-1'});
var ddb = new AWS.DynamoDB({apiVersion: '2012-08-10'});
var params = {
ExpressionAttributeNames: {
"#T": "topics",
"#S": "subscribers"
},
ExpressionAttributeValues: {
":vals": {
L: [
{ N: "123" },
{ N: "456" }
]
}
},
Key: {
'server-id': { S: '123345678' }
},
ReturnValues: "ALL_NEW",
TableName: 'dummy-table',
UpdateExpression: "SET #T[0].#S = list_append(#T[0].#S, :vals)"
};
ddb.updateItem(params, function(err, data) {
if (err) {
console.log("Error", err);
} else {
console.log("Success", data);
}
});