我第一次在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
”部分有问题,我无法弄清楚问题。谁能帮忙吗?