Amazon dynamodb 如何使用布尔属性创建组合排序键

Amazon dynamodb 如何使用布尔属性创建组合排序键,amazon-dynamodb,Amazon Dynamodb,我有一个名为Message的DynamoDB表,具有以下属性: 消息\u id:编号(分区键) 用户id:编号(排序键) 传入:布尔值 主题:字符串 我想为分区键创建一个全局二级索引,其中包含user\u id,并为排序键创建incoming和subject的组合值 全球二级指数: user\u id:分区键 传入#主题:排序键 在与主题组合之前,是否必须手动将传入属性强制转换为字符串(其中真变为“1”,假变为“0”)?处理这种情况的标准方法是什么?据我所知,我不认为只有在全局二级索引中

我有一个名为Message的DynamoDB表,具有以下属性:

  • 消息\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

让我知道这是否对你有效