Amazon dynamodb Dynamodb-表达式属性名称不起作用的条件表达式
我正在尝试执行条件更新,由于字段名是保留关键字,因此我使用ExpressionAttributeNames传入条件的列名。如果使用表达式属性名称,则更新部分不起作用。有什么想法吗Amazon dynamodb Dynamodb-表达式属性名称不起作用的条件表达式,amazon-dynamodb,dynamodb-queries,Amazon Dynamodb,Dynamodb Queries,我正在尝试执行条件更新,由于字段名是保留关键字,因此我使用ExpressionAttributeNames传入条件的列名。如果使用表达式属性名称,则更新部分不起作用。有什么想法吗 Update: { Key: { "pk": "sb#prd#" + productId, "sk": productId.
Update: {
Key: {
"pk": "sb#prd#" + productId,
"sk": productId.toString()
},
TableName: 'test',
ConditionExpression: '#minQty >= :minQty',
UpdateExpression: "set sold_count = :sold_count",
ExpressionAttributeNames: {
"#minQty" : "variant[0].items[0].availableQty"
},
ExpressionAttributeValues: {
":sold_count" : 1,
":minQty" : 1
},
}
ExpressionAttributeNames中定义的别名只能是单个属性名称-它们不能是完整路径,如
变量[0]。项[0]。可用数量
您可以执行以下操作:
ConditionExpression: '#v[0].#i[0].#a >= :minQty',
ExpressionAttributeNames: {
"#v" : "variant",
"#i" : "items",
"#a" : "availableQty"
},
ExpressionAttributeNames中定义的别名只能是单个属性名称-它们不能是完整路径,如
变量[0]。项[0]。可用数量
您可以执行以下操作:
ConditionExpression: '#v[0].#i[0].#a >= :minQty',
ExpressionAttributeNames: {
"#v" : "variant",
"#i" : "items",
"#a" : "availableQty"
},
太棒了,太棒了,太棒了。