Posted: 19/Jan/2024
With the DynamoDB Query
API, you can use Filter Expressions to discard specific query results based on a criteria. Note that the filter expression is applied after a Query finishes, but before the results are returned. Thus, it has no impact on the RCUs (read capacity unit) consumed by the query.
Here is an example that filters out forum discussion threads that have less than a specific number of views:
resp, err := client.Query(context.Background(), &dynamodb.QueryInput{
TableName: aws.String(tableName),
KeyConditionExpression: aws.String("ForumName = :name"),
FilterExpression: aws.String("#v >= :num"),
ExpressionAttributeNames: map[string]string{
"#v": "Views",
},
ExpressionAttributeValues: map[string]types.AttributeValue{
":name": &types.AttributeValueMemberS{Value: forumName},
":num": &types.AttributeValueMemberN{Value: numViews},
},
})
Recommended reading: Filter Expressions
Top comments (0)