在以下代码中,即使联系人联系人属性已存在,也将添加到该联系人属性中。但是我想防止重复,因为两次有相同的联系没有意义。我试图使用包含没有成功。您对我该如何处理有任何想法吗?
const contact = event.contactId
const params = {
TableName,
Key: {
userId: event.userId
},
ReturnValues: 'UPDATED_NEW',
UpdateExpression: 'set #contacts = list_append((if_not_exists(#contacts, :empty_list), :contact)',
ExpressionAttributeNames: {
'#contacts': 'contacts'
},
ExpressionAttributeValues: {
':contact': [contact],
':empty_list': []
}
} // TODO: Must be unique IDs
dynamodb.update(params, (err, data) => {
if (err) {
console.log(err)
callback(err)
} else {
console.log(data)
const response = {
statusCode: 200,
message: "Successfully added contact " + contact,
updatedContacts: data.Attributes.contacts
}
callback(null, response)
}
})
Run Code Online (Sandbox Code Playgroud)