相关疑难解决方法(0)

尝试添加到集合的AWS DynamoDB-错误的操作数

我正在使用Nodejs和DynamoDB作为后端创建API。我试图更新一个项目以添加到一组“朋友”中。更新用户时,出现错误“无效的UpdateExpression:运算符或函数的操作数类型不正确;运算符:ADD,操作数类型:MAP”。我的理解是,当添加到不存在的集合时,将创建该集合。如果已经存在,则应将新值添加到集合中。我不明白为什么我尝试添加的集合被读取为地图。

如何创建用户:

var params = {
    TableName: "users",
    Item:{
        "id": Number(id),
        "name": name,
        "password": password
    }
};

documentClient.put(params, function(err, data) {
    if(err)
        res.json(500, err);
    else
        res.json(200, data);
});
Run Code Online (Sandbox Code Playgroud)

如何添加朋友:

var params = {
    TableName: "users",
    Key: {
        "id": id
    },
    UpdateExpression: "ADD friends :friendId",
    ExpressionAttributeValues: {
        ":friendId": { "NS": [friendId] }
    },
    ReturnValues: "UPDATED_NEW"
};

documentClient.update(params, function(err, data) {
    if(err)
        res.json(500, err);
    else
        res.json(200, data);
});
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-dynamodb

4
推荐指数
2
解决办法
4087
查看次数