javascript - 如何使用nodejs更新dynamoDB中的项目?

标签 javascript json node.js amazon-dynamodb dynamo-local

如何使用 Nodejs 更新 dynamoDB 中的项目?

这里是来自 DynamoDB javascript shell 的 ITEM 列表 -

 "Items": [
        {
          "EmailId": "swa@acc.com",
          "flag": 1,
          "deviceOS": "IOS",
          "companyName": "VCC",
          "snsEndpoint": "00d0sadas",
          "CreatedAt": 22112015,
          "Otp": "ABCDEF",

        },

我想将标志值更新为 2 ...这是我的代码。我该怎么办??我究竟做错了什么 ??感谢帮助...

var params = {
                TableName: 'users',
                Key: {
                    id: {
                        'S': req.query.id
                    },
                    flag: {
                        'N': 2
                    }
                },               
                UpdateExpression: 'SET #flag =:val1',
                ExpressionAttributeNames: {
                    '#flag': 'flag' //COLUMN NAME       
                },
                ExpressionAttributeValues: {
                    ':val1': {
                        'N': 2
                    },
                }
            };
            dynamodb.updateItem(params, function(err, data) {
                if (err) {
                    console.log('Error :' + err);
                } else {
                    //subscribe(bodydata.id);
                    console.log('EndpointArn Saved successful');
                    console.log('Data :' + JSON.stringify(data.flag));
                }
            });

最佳答案

您正在尝试修改不存在的flag: { 'N': 2 }。但您想将 flag: { 'N': 1 } 值修改为 2。因此请尝试这样做:

var params = {
                TableName: 'users',
                Key: {
                    id: {
                        'S': req.query.id
                    },
                    flag: {
                        'N': 1
                    }
                },               
                UpdateExpression: 'SET #flag =:val1',
                ExpressionAttributeNames: {
                    '#flag': 'flag' //COLUMN NAME       
                },
                ExpressionAttributeValues: {
                    ':val1': {
                        'N': 2
                    },
                }
            };
            dynamodb.updateItem(params, function(err, data) {
                if (err) {
                    console.log('Error :' + err);
                } else {
                    //subscribe(bodydata.id);
                    console.log('EndpointArn Saved successful');
                    console.log('Data :' + JSON.stringify(data.flag));
                }
            });

关于javascript - 如何使用nodejs更新dynamoDB中的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33858475/

相关文章:

javascript - 如何在移动浏览器上显示滚动 div(或其他容器)?

javascript - 在 JavaScript 中使用 .JSON

node.js - 使用 node js express 实现 IMS LTI

node.js - 为什么在 Express 路线运行后我无法调用 `next`?

Node.js:当期望 Node 在 settimeout 间隔结束之前不执行任何操作时,从 settimeout 持续执行

javascript - chart.js-datalabels-plugins 不起作用

javascript - 如何制作 if/else 语句循环?

javascript - 如何创建.htaccess来捕获html页面?

javascript - Ajax 调用 Express 应用程序不传递数据

c# - Cosmos DB - CreateDocumentQuery 不反序列化抽象类型