Я работаю над DynamoDB с Ruby впервые.Я должен сделать запрос, чтобы вытащить данные, где даты не соответствуют предоставленным датам.
Вот мой запрос:
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
" я не могу понять проблему.Может кто-нибудь, пожалуйста, помогите?
Для справки, я построил запрос оператора "Not IN" отсюда DynamoDB FilterExpression с NOT IN