Ruby dynamoDB查询“ filter_expression”问题

时间:2019-06-20 11:03:18

标签: amazon-dynamodb sinatra

我第一次在Ruby上使用dynamoDB。我必须进行查询以提取日期与提供的日期不匹配的数据。

这是我的查询:

 query_params = {
      table_name: table_name,
      index_name: 'sk',
      key_condition_expression: '#pk = :pk and #sk between :start and :end',
      expression_attribute_names: {
        '#pk' => 'pk',
        '#sk' => 'sk',
      },
      expression_attribute_values: {
        ':pk' => 'pk_value',
        ':start' => "#{params[:code1]}###{params[:code2]}##{date_parts[0]}##{date_parts[1]}##{date_parts[2]}",
        ':end'   => "#{params[:code1]}###{params[:code2]}##{to_date_parts[0]}##{to_parts[1]}##{to_parts[2]}",
         ':dd1'   => "#{params[:code1]}###{params[:code2]}##{from_skip1[0]}##{from_skip1[1]}##{from_skip1[2]}",
         ':dd2'   => "#{params[:code1]}###{params[:code2]}##{from_skip2[0]}##{from_skip2[1]}##{from_skip2[2]}",
         ':dd3'   => "#{params[:code1]}###{params[:code2]}##{from_skip3[0]}##{from_skip3[1]}##{from_skip3[2]}"
      }
       filter_expression: {
         'not (#sk in (:dd1, :dd2, :dd3))'
       }

    }

Ruby Script说“ filter_expression”部分有问题,我无法弄清楚问题。谁能帮忙吗?

作为参考,我从这里DynamoDB FilterExpression with NOT IN

构建了“ Not IN”语句查询

0 个答案:

没有答案