¿Cómo puedo agregar un elemento a un mapa existente en dynamodb? Quiero agregar un nuevo conjunto de ubicación / nombre / etiquetas.
La estructura en dynamodb se parece a la siguiente
{
"user": "xyz",
"itemdetails": [
{
"location": "67666",
"name": "item1",
"tags": [
"k7866"
]
},
{
"location": "45444",
"name": "item12",
"tags": [
"ha23",
"ju4532"
]
}
}
Intenté lo siguiente, pero obtuve un
"UpdateExpression no válido: tipo de operando incorrecto para el operador o la función; operador: ADD, tipo de operando: MAP"
response = table.update_item(
Key={
'user': "xyz",
},
UpdateExpression = 'ADD #itemdetails :newItems',
ExpressionAttributeNames = {
'#itemdetails' : 'ids'
},
ExpressionAttributeValues = {
':newItems' : {"name":name,
"location":location,
"tags":tags
}
},
ReturnValues="UPDATED_NEW"
Lo resolví ahora con
UpdateExpression = 'SET itemdetails = list_append(itemdetails, :newitem)',
ExpressionAttributeValues={
":newitem": [
{
"name":"TEST",
"location":"TEST",
"tags":tags
}
]
},
ReturnValues="UPDATED_NEW"
)
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras