首页 > 解决方案 > 如何使用nodejs根据它在dynamodb中的存在来删除项目?

问题描述

我正在尝试删除 dynamodb 中的一个项目(如果它存在,否则不存在),尝试关注文档,但我正在查看该对象是否存在。

let modify = function () {

    const params = {
        TableName: 'Notes',
        Key: {
          "id": "1",
        },
        UpdateExpression: "set id = :y",
        ConditionExpression: "attribute_exists(:y)",
        ExpressionAttributeValues:{
            ":y":"1"  //static for now otherwise req.params.id for api
        },
        ReturnValues: 'ALL_OLD'
      };
    
    
    docClient.delete(params, function (err, data) {

        if (err) {
            console.log("users::update::error - " + JSON.stringify(err, null, 2));
        } else {
            console.log("users::update::success "+JSON.stringify(data.Attributes) );
        }
    });
}

modify();

table 中的 item 有两个属性 name 和 id,id 是主键。运行此代码时出现错误"message": "Invalid ConditionExpression: Operator or function requires a document path; operator or function: attribute_exists",因为这将是 API 的一部分,我无法在 json 文件中保存静态值。有什么解决方法吗?

标签: node.jsamazon-web-servicesexpressamazon-dynamodb

解决方案


推荐阅读