Amazon dynamodb 如何使用布尔属性创建组合排序键
我有一个名为Message的DynamoDB表,具有以下属性:Amazon dynamodb 如何使用布尔属性创建组合排序键,amazon-dynamodb,Amazon Dynamodb,我有一个名为Message的DynamoDB表,具有以下属性: 消息\u id:编号(分区键) 用户id:编号(排序键) 传入:布尔值 主题:字符串 我想为分区键创建一个全局二级索引,其中包含user\u id,并为排序键创建incoming和subject的组合值 全球二级指数: user\u id:分区键 传入#主题:排序键 在与主题组合之前,是否必须手动将传入属性强制转换为字符串(其中真变为“1”,假变为“0”)?处理这种情况的标准方法是什么?据我所知,我不认为只有在全局二级索引中
:编号(分区键)消息\u id
:编号(排序键)用户id
:布尔值传入
:字符串主题
user\u id
,并为排序键创建incoming
和subject
的组合值
全球二级指数:
:分区键user\u id
:排序键传入#主题
在与
主题
组合之前,是否必须手动将传入
属性强制转换为字符串(其中真
变为“1”
,假
变为“0”
)?处理这种情况的标准方法是什么?据我所知,我不认为只有在全局二级索引中才能有不同的属性,如incoming#subject
,而只有在原始表中才能分离incoming
和subject
属性。索引中的属性将反映表中的属性。这两种表示法的区别在于,它们具有不同的分区键和排序键。因此,如果表中没有此属性,就不能仅在索引中“组合”incoming#subject
但是,在表和索引中同时包含incoming#subject
可以解决您的问题,因为它的值将在数据库之外确定(当您写入表时)。因此,当您插入或更新数据时,您应该能够将其“强制转换”到您想要的任何位置——无论它是true#my#u subject_此处
还是1#另一个_subject
让我知道这是否对你有效