Node.js DynamoDB:无法更新节点js中的DynamoDB项

Node.js DynamoDB:无法更新节点js中的DynamoDB项,node.js,amazon-dynamodb,Node.js,Amazon Dynamodb,我是dynamoDB的新手,我正在尝试更新项目并将其发送到db,但我做不到,总是得到“提供的关键元素与模式不匹配” 这是dynamoDB的my serverless.yml代码 resources: Resources: TodosDynamoDbTable: Type: 'AWS::DynamoDB::Table' DeletionPolicy: Retain Properties: AttributeDefinition

我是dynamoDB的新手,我正在尝试更新项目并将其发送到db,但我做不到,总是得到“提供的关键元素与模式不匹配”

这是dynamoDB的my serverless.yml代码

    resources:
  Resources:
    TodosDynamoDbTable:
      Type: 'AWS::DynamoDB::Table'
      DeletionPolicy: Retain
      Properties:
        AttributeDefinitions:
          -
            AttributeName: id
            AttributeType: S
          -
            AttributeName: in_organization_id
            AttributeType: S
          -
            AttributeName: sp_customer_id
            AttributeType: S
          -
            AttributeName: qb_customer_id
            AttributeType: S
        KeySchema:
          -
            AttributeName: id
            KeyType: HASH
          -
           AttributeName: in_organization_id
           KeyType: RANGE
          -
           AttributeName: sp_customer_id
           KeyType: RANGE
          -
           AttributeName: qb_customer_id
           KeyType: RANGE
        ProvisionedThroughput:
          ReadCapacityUnits: 1
          WriteCapacityUnits: 1
        TableName: 'insightly'
这是我的更新方法

/* Update Record in DB */
      this.UpdateDB = (event) => {
        return new Promise(async (resolve, reject) => {
          try {
            const data = event;
            const params = {
              TableName: process.env.TABLE_NAME,          
              Key: {
                in_organization_id : data.in_organization_id
                },     
              UpdateExpression: "set qb_customer_id = :qb_customer_id",
              ExpressionAttributeValues:{
                  ":qb_customer_id":data.qb_customer_id
              },
              ReturnValues:"UPDATED_NEW"}
            const response=await dynamoDb.update(params).promise();
            resolve(response);
          } catch (err) {
            reject(err.message);
          }
        });
      };
像wise一样,我有getmethod来获取项目

/* Get/Check Org ID from DB */
  this.checkOrgID = (OrgID) => {
    return new Promise(async (resolve, reject) => {
      try {
        const params = {
          TableName: process.env.TABLE_NAME,
           Key: {in_organization_id :OrgID}
        };
        const response = await dynamoDb.get(params).promise();
        resolve(response);
      } catch (err) {
        reject(err.message);
      }
    });
  };

但它总是给我错误。请帮我找出解决办法。提前感谢。

如果您正在使用AWS SDK for Javascript,您可以使用以下信息:

const document = { 
  document_id: "1",
  name: "John",
  lastname: "Snow" 
}
其中document_id是我的密钥

return dynamodb
    .put({ TableName: 'tableName', Item: document })
    .promise();

你犯了什么错误?在哪一行?谢谢@Cristian Fernández,它起作用了