我尝试使用辅助索引查询表 Tinpon ,从而产生分区键类别和排序键 tinponId 。我的目标是排除具有某些tinponIds的项目。我首先想到的是做一个否定的比较: keyConditionExpression = "category = :category AND tinponId != :tinponId"但是只有相等的 = 比较。然后我尝试了其他方法(可悲的是不存在): keyConditionExpression = "category = :category NOT tinponId = :tinponId" keyConditionExpression = "category = :category AND tinponId <> :tinponId" keyConditionExpression = "category = :category AND tinponId < :tinponId AND tinponId > :tinponId"在the AWS guide之后,没有不等于比较。为什么这样?有没有一种方法可以查询DynamoDB,但不包括ID列表,还是唯一的选项来检索全部项目并稍后手动过滤它们? 最佳答案 KeyConditionExpression不允许对排序键使用不等于。但是,您可以在FilterExpression中使用“不等于即” 。KeyConditionExpression : 'category = :category',FilterExpression : 'tinponId <> :tinponIdVal',ExpressionAttributeValues : { ':category' : 'somevalue', ':tinponIdVal' : 'somevalue'}
10-07 17:48