El tipo de datos String debe usarse para Fecha o Marca de tiempo.
Puede utilizar el tipo de datos String para representar una fecha o una marca de tiempo. Una forma de hacer esto es usando cadenas ISO 8601, como se muestra en estos ejemplos:
2016-02-15
2015-12-21T17: 42: 34Z
20150311T122706Z
Tipo de datos de DynamoDB para fecha o marca de tiempo
Sí, las consultas de rango son compatibles cuando la fecha se almacena como cadena. El ENTRE se puede utilizar en FilterExpresssion. Obtuve los elementos en el resultado usando las siguientes expresiones de filtro.
FilterExpression sin tiempo: -
FilterExpression : 'createdate between :val1 and :val2',
ExpressionAttributeValues : {
':hkey' : year_val,
':rkey' : title,
":val1" : "2010-01-01",
":val2" : "2010-12-31"
}
FilterExpression con tiempo: -
FilterExpression : 'createdate between :val1 and :val2',
ExpressionAttributeValues : {
':hkey' : year_val,
':rkey' : title,
":val1" : "2010-01-01T00:00:00",
":val2" : "2010-12-31T00:00:00"
}
Valores de la base de datos: -
Formato 1 - con zona horaria:
{"Item":{"createdate":{"S":"2010-12-21T17:42:34+00:00"},"title":{"S":"The Big New Movie 2010"},"yearkey":{"N":"2010"},"info":{"M":{"rating":{"N":"0"},"plot":{"S":"Nothing happens at all."}}}}}
Formato 2 - sin zona horaria: -
{"Item":{"createdate":{"S":"2010-12-21T17:42:34Z"},"title":{"S":"The Big New Movie 2010"},"yearkey":{"N":"2010"},"info":{"M":{"rating":{"N":"0"},"plot":{"S":"Nothing happens at all."}}}}}