我有一个字段列表。
{
"messages": [item1, item2....]
}
多个主机会将项目附加到该列表中。
是否需要考虑确保原子附加?
答案 0 :(得分:2)
同时使用list_append()
和if_not_exists()
附加到可能不存在的列表列:
var params = {
TableName: "yourTableName",
Key: { hash: "someId" },
UpdateExpression: "set #messages = list_append(if_not_exists(#messages, :empty_list), :message)",
ExpressionAttributeNames: {
"#messages": "messages"
},
ExpressionAttributeValues: {
":message": [{ "id": "1","foo": "bar" }],
":empty_list": []
}
};