node.js - 使用 NODEjs : Syntax error; token: \"updated\", 附近的 DynamoDB 更新:\"set updated =\""

标签 node.js amazon-dynamodb

我的 dynamoDB 上的每个项目如下所示

 {
  "status": "pending",
  "ccNumber":  "0012",
  "created":  "2018-03-07T16:42:02-04:00",
  "id": "14664d28-ef41-4228-99b5-6381a2a69f62",
  "amount":  "12",
  "invoice": "71200",
  "customerId": "00000"
}

我正在尝试更新此特定记录上的字段并添加更多项目。这是我的参数变量

 const params = {
  TableName: this.table,
  Key: { id },
  UpdateExpression: `set tranStatus = :status, updated = :updated, authTransacId = :authTransacId, avsResponse = :avsResponse, authCode = :authCode`,
  ExpressionAttributeValues: {
    ':status': data.status,
    ':updated': moment().utcOffset(-4).format(),
    ':authTransacId': data.transId,
    ':avsResponse': data.avsResponse,
    ':authCode': data.authCode
  },
  ReturnValues: "UPDATED_NEW"
}

我似乎找不到新字段的问题:已更新

最佳答案

你可以console.log(params)吗?

我怀疑updated是一个保留字。在参数中使用 ExpressionAttributeNames 是一种安全的做法。

我想你调用了.update(params),不是吗?

const params = {
  TableName: this.table,
  Key: { id },
  UpdateExpression: `set #a = :status, #b = :updated, #c = :authTransacId, #d = :avsResponse, #e = :authCode`,
  ExpressionAttributeValues: {
    ':status': data.status,
    ':updated': moment().utcOffset(-4).format(),
    ':authTransacId': data.transId,
    ':avsResponse': data.avsResponse,
    ':authCode': data.authCode
  },
  ExpressionAttributeNames: {
    '#a': 'tranStatus',
    '#b': 'updated',
    '#c': 'authTransacId',
    '#d': 'avsResponse',
    '#e': 'authCode',
  },
  ReturnValues: "UPDATED_NEW"
}

关于node.js - 使用 NODEjs : Syntax error; token: \"updated\", 附近的 DynamoDB 更新:\"set updated =\"",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49179637/

相关文章:

javascript - git提交错误的文件名首字母大写

java - 通过 dynamoDb 表的 Id(hashKey) 检索数据时出错

amazon-dynamodb - 如何在 DynamoDB 中过滤嵌套数组对象

json - 可以在不使用结构的情况下在 Golang 的 DynamoDB 中运行 PutItem 吗?

javascript - 使用ajax向node.js进行AJAX查询获取和发布数据时出现错误

javascript - 在mongodb中更新时如何返回更新后的对象?

amazon-web-services - AWS API Gateway 将 JSON 存储到 DynamoDB

Docker:如何为本地发电机数据库创建表?

javascript - 如何将我的 Heroku 配置变量链接到 Node.js 应用程序

javascript - 当 Yeoman 上的前一个提示为真时,如何执行其他提示?