如何在Dynamodb中使用嵌套字段作为TTL字段



我正在阅读https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/TTL.html在Dynamodb表上添加TTL字段。但我找不到它如何支持嵌套字段作为TTL字段。例如,

id: xxx
user: { firstName: '', lastName:'', age: ''}

在上面的例子中,如何使用user -> age作为ttl字段?

首先,字符串不能用于TTL。如果你尝试这样做,它将被忽略,根据文档:

TTL属性的值必须是Number数据类型。例如,如果为表指定使用属性名称expdate作为TTL属性,但项上的属性是String数据类型,则TTL进程将忽略该项。

同样来自同一文档页面:

TTL属性的值必须是Unix epoch时间格式的时间戳(以秒为单位(。如果使用任何其他格式,TTL进程将忽略该项。例如,如果将属性的值设置为1645119622,即2022年2月17日星期四17:40:22(GMT(,则该项目将在该时间之后过期。

我之所以提到这一点,是因为我觉得你想以某种方式使用用户的年龄作为TTL,而这不是时间戳值。

而且,正如@jarmod在评论中所说,它必须是一个顶级属性。您必须提取该值并将其添加到TTL列中,无论它是哪一个,在未来以秒为单位的数字格式时间戳值。

相关内容

  • 没有找到相关文章

最新更新