我在dynamodb中将对象推入数组/将对象设置为docs状态时遇到问题。
Invalid UpdateExpression: Incorrect number of operands for operator or function; operator or function: if_not_exists, number of operands: 1
我做错什么了?我很感激你的帮助!
export async function postTrade(position) {
let params = {
Key: {
PK: 'stocks'
},
UpdateExpression: 'set #tickers = list_append(if_not_exists(#tickers))',
ExpressionAttributeNames: {
'#tickers': 'tickers'
},
ExpressionAttributeValues: {
':tickers': [position]
},
TableName: 'stockTable'
};
await docClient.update(params).promise();
}
迪纳摩唱片
{
"PK": "stocks",
"tickers": [
]
}
1条答案
按热度按时间eqqqjvef1#
追加到列表
list_append
采用2个参数,而不是一个:list_append (list1, list2)
list2
追加到list1
检查属性是否存在
同样,
if_not_exists()
采用2个参数:if_not_exists (path, value)
if_not_exists
的计算结果为value
;否则,它的计算结果为path
。因此,应该使用空数组作为参数。溶液
向每个函数传递2个参数,这应该允许您将其追加到列表中。