Cómo establecer un valor de propiedad de DynamoDB Map, cuando el mapa aún no existe
¿Cómo se "inserta" una propiedad en una fila DynamoDB? P.ej.SET address.state = "MA"
para algún artículo, cuandoaddress
aún no existe?
Siento que estoy teniendo un problema de huevo y gallina porque DynamoDB no le permite definir un esquema descuidado de antemano.
Siaddress
Ya existía en ese elemento, de tipoM
(para Map), Internet me dice que podría emitir una UpdateExpression como:
SET #address.#state = :value
con#address
, #state
y:value
asignado adecuadamente aaddress
, state
yMA
, respectivamente.
Pero si eladdress
propiedad haceno ya existe, esto da un error:
'' 'ValidationException: la ruta del documento proporcionada en la expresión de actualización no es válida para la actualización' ''
Entonces ... parece que necesito:
Encontrar una forma de "upsert"address.state
(p.ej.,SET address = {}; SET address.state = 'MA'
en un solo comando)o
Emite tres (!!!) viajes de ida y vuelta en los que lo intento,SET address = {};
en caso de fallo, y luego inténtelo de nuevo.Si este último ... ¿cómo configuro un mapa en blanco?
Ugh ... me gusta Dynamo, pero a menos que me esté perdiendo algo obvio, esto es un poco loco ...