gpt4 book ai didi

amazon-dynamodb - DynamoDB : Value provided in ExpressionAttributeNames unused in expressions: keys: {#date}

转载 作者:行者123 更新时间:2023-12-03 22:12:51 35 4
gpt4 key购买 nike

我试图通过将 isRelevant 的值更改为 true 来更新项目:

              var params = {
TableName: "test",
Key: {
"#date": data.Items[i].date.N,
"accountid": data.Items[i].accountid.S
},
UpdateExpression: "set #uu = :x",
ExpressionAttributeValues: {
":x": {"BOOL": false}
},
ExpressionAttributeNames: {
'#uu': "isRelevant",
'#date': "date"
}
};

docClient.update(params, function(err, data) {
if (err) console.log(err);
else {
console.log('worked');
}
});

这段代码有什么问题?我尝试了所有可能的方法,但仍然无法正常工作!

最佳答案

您不需要为 dynamo 中的键使用属性名称映射。

目前,您的 params 读起来就像您有一个名为“#date”的键,并且您随机声明了一个名为“#date”的属性,但您没有使用它。

而是尝试:

var params = {
TableName: "test",
Key: { "date": data.Items[i].date, "accountid": data.Items[i].accountid },
UpdateExpression: "set #uu = :x",
ExpressionAttributeValues: { ":x": false },
ExpressionAttributeNames: { '#uu': "isRelevant" }
};

此外 - 使用 DynamoDB.DocumentClient 时,您应该使用 JSON 值,它会处理 dynamo 类型格式的编码信息。

关于amazon-dynamodb - DynamoDB : Value provided in ExpressionAttributeNames unused in expressions: keys: {#date},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52958274/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com