小编Roi*_*jat的帖子

如何正确使用list_append在DynamoDB中保持值唯一?

在以下代码中,即使联系人联系人属性已存在,也将添加到该联系人属性中。但是我想防止重复,因为两次有相同的联系没有意义。我试图使用包含没有成功。您对我该如何处理有任何想法吗?

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)

node.js amazon-dynamodb

6
推荐指数
1
解决办法
535
查看次数

标签 统计

amazon-dynamodb ×1

node.js ×1