/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Represents the selection criteria for a For a For a Query
or
* Scan
operation:
Query
* operation, Condition
is used for specifying the
* KeyConditions
to use when querying a table or an index. For
* KeyConditions
, only the following comparison operators are
* supported:EQ | LE | LT | GE | GT | BEGINS_WITH | BETWEEN
* Condition
is also used in a QueryFilter
,
* which evaluates the query results and returns only the desired values.Scan
operation, Condition
is used in a
* ScanFilter
, which evaluates the scan results and returns only the
* desired values.See Also:
AWS
* API Reference
One or more values to evaluate against the supplied attribute. The number of
* values in the list depends on the ComparisonOperator
being
* used.
For type Number, value comparisons are numeric.
String value
* comparisons for greater than, equals, or less than are based on ASCII character
* code values. For example, a
is greater than A
, and
* a
is greater than B
. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.
For Binary, DynamoDB treats each byte of the binary data as unsigned when it * compares binary values.
*/ inline const Aws::VectorOne or more values to evaluate against the supplied attribute. The number of
* values in the list depends on the ComparisonOperator
being
* used.
For type Number, value comparisons are numeric.
String value
* comparisons for greater than, equals, or less than are based on ASCII character
* code values. For example, a
is greater than A
, and
* a
is greater than B
. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.
For Binary, DynamoDB treats each byte of the binary data as unsigned when it * compares binary values.
*/ inline bool AttributeValueListHasBeenSet() const { return m_attributeValueListHasBeenSet; } /** *One or more values to evaluate against the supplied attribute. The number of
* values in the list depends on the ComparisonOperator
being
* used.
For type Number, value comparisons are numeric.
String value
* comparisons for greater than, equals, or less than are based on ASCII character
* code values. For example, a
is greater than A
, and
* a
is greater than B
. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.
For Binary, DynamoDB treats each byte of the binary data as unsigned when it * compares binary values.
*/ inline void SetAttributeValueList(const Aws::VectorOne or more values to evaluate against the supplied attribute. The number of
* values in the list depends on the ComparisonOperator
being
* used.
For type Number, value comparisons are numeric.
String value
* comparisons for greater than, equals, or less than are based on ASCII character
* code values. For example, a
is greater than A
, and
* a
is greater than B
. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.
For Binary, DynamoDB treats each byte of the binary data as unsigned when it * compares binary values.
*/ inline void SetAttributeValueList(Aws::VectorOne or more values to evaluate against the supplied attribute. The number of
* values in the list depends on the ComparisonOperator
being
* used.
For type Number, value comparisons are numeric.
String value
* comparisons for greater than, equals, or less than are based on ASCII character
* code values. For example, a
is greater than A
, and
* a
is greater than B
. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.
For Binary, DynamoDB treats each byte of the binary data as unsigned when it * compares binary values.
*/ inline Condition& WithAttributeValueList(const Aws::VectorOne or more values to evaluate against the supplied attribute. The number of
* values in the list depends on the ComparisonOperator
being
* used.
For type Number, value comparisons are numeric.
String value
* comparisons for greater than, equals, or less than are based on ASCII character
* code values. For example, a
is greater than A
, and
* a
is greater than B
. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.
For Binary, DynamoDB treats each byte of the binary data as unsigned when it * compares binary values.
*/ inline Condition& WithAttributeValueList(Aws::VectorOne or more values to evaluate against the supplied attribute. The number of
* values in the list depends on the ComparisonOperator
being
* used.
For type Number, value comparisons are numeric.
String value
* comparisons for greater than, equals, or less than are based on ASCII character
* code values. For example, a
is greater than A
, and
* a
is greater than B
. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.
For Binary, DynamoDB treats each byte of the binary data as unsigned when it * compares binary values.
*/ inline Condition& AddAttributeValueList(const AttributeValue& value) { m_attributeValueListHasBeenSet = true; m_attributeValueList.push_back(value); return *this; } /** *One or more values to evaluate against the supplied attribute. The number of
* values in the list depends on the ComparisonOperator
being
* used.
For type Number, value comparisons are numeric.
String value
* comparisons for greater than, equals, or less than are based on ASCII character
* code values. For example, a
is greater than A
, and
* a
is greater than B
. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.
For Binary, DynamoDB treats each byte of the binary data as unsigned when it * compares binary values.
*/ inline Condition& AddAttributeValueList(AttributeValue&& value) { m_attributeValueListHasBeenSet = true; m_attributeValueList.push_back(std::move(value)); return *this; } /** *A comparator for evaluating attributes. For example, equals, greater than, * less than, etc.
The following comparison operators are available:
* EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS |
* BEGINS_WITH | IN | BETWEEN
The following are descriptions of each * comparison operator.
EQ
: Equal. EQ
* is supported for all data types, including lists and maps.
* AttributeValueList
can contain only one AttributeValue
* element of type String, Number, Binary, String Set, Number Set, or Binary Set.
* If an item contains an AttributeValue
element of a different type
* than the one provided in the request, the value does not match. For example,
* {"S":"6"}
does not equal {"N":"6"}
. Also,
* {"N":"6"}
does not equal {"NS":["6", "2", "1"]}
.
NE
: Not equal. NE
is supported
* for all data types, including lists and maps.
* AttributeValueList
can contain only one AttributeValue
* of type String, Number, Binary, String Set, Number Set, or Binary Set. If an
* item contains an AttributeValue
of a different type than the one
* provided in the request, the value does not match. For example,
* {"S":"6"}
does not equal {"N":"6"}
. Also,
* {"N":"6"}
does not equal {"NS":["6", "2", "1"]}
.
LE
: Less than or equal.
* AttributeValueList
can contain only one AttributeValue
* element of type String, Number, or Binary (not a set type). If an item contains
* an AttributeValue
element of a different type than the one provided
* in the request, the value does not match. For example, {"S":"6"}
* does not equal {"N":"6"}
. Also, {"N":"6"}
does not
* compare to {"NS":["6", "2", "1"]}
.
* LT
: Less than.
AttributeValueList
can
* contain only one AttributeValue
of type String, Number, or Binary
* (not a set type). If an item contains an AttributeValue
element of
* a different type than the one provided in the request, the value does not match.
* For example, {"S":"6"}
does not equal {"N":"6"}
. Also,
* {"N":"6"}
does not compare to {"NS":["6", "2",
* "1"]}
.
GE
: Greater than or equal.
*
AttributeValueList
can contain only one
* AttributeValue
element of type String, Number, or Binary (not a set
* type). If an item contains an AttributeValue
element of a different
* type than the one provided in the request, the value does not match. For
* example, {"S":"6"}
does not equal {"N":"6"}
. Also,
* {"N":"6"}
does not compare to {"NS":["6", "2",
* "1"]}
.
GT
: Greater than.
* AttributeValueList
can contain only one AttributeValue
* element of type String, Number, or Binary (not a set type). If an item contains
* an AttributeValue
element of a different type than the one provided
* in the request, the value does not match. For example, {"S":"6"}
* does not equal {"N":"6"}
. Also, {"N":"6"}
does not
* compare to {"NS":["6", "2", "1"]}
.
* NOT_NULL
: The attribute exists. NOT_NULL
is supported
* for all data types, including lists and maps.
This operator tests
* for the existence of an attribute, not its data type. If the data type of
* attribute "a
" is null, and you evaluate it using
* NOT_NULL
, the result is a Boolean true
. This result is
* because the attribute "a
" exists; its data type is not relevant to
* the NOT_NULL
comparison operator.
* NULL
: The attribute does not exist. NULL
is supported
* for all data types, including lists and maps.
This operator tests
* for the nonexistence of an attribute, not its data type. If the data type of
* attribute "a
" is null, and you evaluate it using NULL
,
* the result is a Boolean false
. This is because the attribute
* "a
" exists; its data type is not relevant to the NULL
* comparison operator.
CONTAINS
: Checks
* for a subsequence, or value in a set.
AttributeValueList
* can contain only one AttributeValue
element of type String, Number,
* or Binary (not a set type). If the target attribute of the comparison is of type
* String, then the operator checks for a substring match. If the target attribute
* of the comparison is of type Binary, then the operator looks for a subsequence
* of the target that matches the input. If the target attribute of the comparison
* is a set ("SS
", "NS
", or "BS
"), then the
* operator evaluates to true if it finds an exact match with any member of the
* set.
CONTAINS is supported for lists: When evaluating "a CONTAINS
* b
", "a
" can be a list; however, "b
" cannot be a
* set, a map, or a list.
NOT_CONTAINS
: Checks for
* absence of a subsequence, or absence of a value in a set.
* AttributeValueList
can contain only one AttributeValue
* element of type String, Number, or Binary (not a set type). If the target
* attribute of the comparison is a String, then the operator checks for the
* absence of a substring match. If the target attribute of the comparison is
* Binary, then the operator checks for the absence of a subsequence of the target
* that matches the input. If the target attribute of the comparison is a set
* ("SS
", "NS
", or "BS
"), then the operator
* evaluates to true if it does not find an exact match with any member of
* the set.
NOT_CONTAINS is supported for lists: When evaluating "a
* NOT CONTAINS b
", "a
" can be a list; however,
* "b
" cannot be a set, a map, or a list.
* BEGINS_WITH
: Checks for a prefix.
* AttributeValueList
can contain only one AttributeValue
* of type String or Binary (not a Number or a set type). The target attribute of
* the comparison must be of type String or Binary (not a Number or a set
* type).
IN
: Checks for matching elements in
* a list.
AttributeValueList
can contain one or more
* AttributeValue
elements of type String, Number, or Binary. These
* attributes are compared against an existing attribute of an item. If any
* elements of the input are equal to the item attribute, the expression evaluates
* to true.
BETWEEN
: Greater than or equal to the
* first value, and less than or equal to the second value.
* AttributeValueList
must contain two AttributeValue
* elements of the same type, either String, Number, or Binary (not a set type). A
* target attribute matches if the target value is greater than, or equal to, the
* first element and less than, or equal to, the second element. If an item
* contains an AttributeValue
element of a different type than the one
* provided in the request, the value does not match. For example,
* {"S":"6"}
does not compare to {"N":"6"}
. Also,
* {"N":"6"}
does not compare to {"NS":["6", "2", "1"]}
*
For usage examples of AttributeValueList
and
* ComparisonOperator
, see Legacy
* Conditional Parameters in the Amazon DynamoDB Developer Guide.
A comparator for evaluating attributes. For example, equals, greater than, * less than, etc.
The following comparison operators are available:
* EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS |
* BEGINS_WITH | IN | BETWEEN
The following are descriptions of each * comparison operator.
EQ
: Equal. EQ
* is supported for all data types, including lists and maps.
* AttributeValueList
can contain only one AttributeValue
* element of type String, Number, Binary, String Set, Number Set, or Binary Set.
* If an item contains an AttributeValue
element of a different type
* than the one provided in the request, the value does not match. For example,
* {"S":"6"}
does not equal {"N":"6"}
. Also,
* {"N":"6"}
does not equal {"NS":["6", "2", "1"]}
.
NE
: Not equal. NE
is supported
* for all data types, including lists and maps.
* AttributeValueList
can contain only one AttributeValue
* of type String, Number, Binary, String Set, Number Set, or Binary Set. If an
* item contains an AttributeValue
of a different type than the one
* provided in the request, the value does not match. For example,
* {"S":"6"}
does not equal {"N":"6"}
. Also,
* {"N":"6"}
does not equal {"NS":["6", "2", "1"]}
.
LE
: Less than or equal.
* AttributeValueList
can contain only one AttributeValue
* element of type String, Number, or Binary (not a set type). If an item contains
* an AttributeValue
element of a different type than the one provided
* in the request, the value does not match. For example, {"S":"6"}
* does not equal {"N":"6"}
. Also, {"N":"6"}
does not
* compare to {"NS":["6", "2", "1"]}
.
* LT
: Less than.
AttributeValueList
can
* contain only one AttributeValue
of type String, Number, or Binary
* (not a set type). If an item contains an AttributeValue
element of
* a different type than the one provided in the request, the value does not match.
* For example, {"S":"6"}
does not equal {"N":"6"}
. Also,
* {"N":"6"}
does not compare to {"NS":["6", "2",
* "1"]}
.
GE
: Greater than or equal.
*
AttributeValueList
can contain only one
* AttributeValue
element of type String, Number, or Binary (not a set
* type). If an item contains an AttributeValue
element of a different
* type than the one provided in the request, the value does not match. For
* example, {"S":"6"}
does not equal {"N":"6"}
. Also,
* {"N":"6"}
does not compare to {"NS":["6", "2",
* "1"]}
.
GT
: Greater than.
* AttributeValueList
can contain only one AttributeValue
* element of type String, Number, or Binary (not a set type). If an item contains
* an AttributeValue
element of a different type than the one provided
* in the request, the value does not match. For example, {"S":"6"}
* does not equal {"N":"6"}
. Also, {"N":"6"}
does not
* compare to {"NS":["6", "2", "1"]}
.
* NOT_NULL
: The attribute exists. NOT_NULL
is supported
* for all data types, including lists and maps.
This operator tests
* for the existence of an attribute, not its data type. If the data type of
* attribute "a
" is null, and you evaluate it using
* NOT_NULL
, the result is a Boolean true
. This result is
* because the attribute "a
" exists; its data type is not relevant to
* the NOT_NULL
comparison operator.
* NULL
: The attribute does not exist. NULL
is supported
* for all data types, including lists and maps.
This operator tests
* for the nonexistence of an attribute, not its data type. If the data type of
* attribute "a
" is null, and you evaluate it using NULL
,
* the result is a Boolean false
. This is because the attribute
* "a
" exists; its data type is not relevant to the NULL
* comparison operator.
CONTAINS
: Checks
* for a subsequence, or value in a set.
AttributeValueList
* can contain only one AttributeValue
element of type String, Number,
* or Binary (not a set type). If the target attribute of the comparison is of type
* String, then the operator checks for a substring match. If the target attribute
* of the comparison is of type Binary, then the operator looks for a subsequence
* of the target that matches the input. If the target attribute of the comparison
* is a set ("SS
", "NS
", or "BS
"), then the
* operator evaluates to true if it finds an exact match with any member of the
* set.
CONTAINS is supported for lists: When evaluating "a CONTAINS
* b
", "a
" can be a list; however, "b
" cannot be a
* set, a map, or a list.
NOT_CONTAINS
: Checks for
* absence of a subsequence, or absence of a value in a set.
* AttributeValueList
can contain only one AttributeValue
* element of type String, Number, or Binary (not a set type). If the target
* attribute of the comparison is a String, then the operator checks for the
* absence of a substring match. If the target attribute of the comparison is
* Binary, then the operator checks for the absence of a subsequence of the target
* that matches the input. If the target attribute of the comparison is a set
* ("SS
", "NS
", or "BS
"), then the operator
* evaluates to true if it does not find an exact match with any member of
* the set.
NOT_CONTAINS is supported for lists: When evaluating "a
* NOT CONTAINS b
", "a
" can be a list; however,
* "b
" cannot be a set, a map, or a list.
* BEGINS_WITH
: Checks for a prefix.
* AttributeValueList
can contain only one AttributeValue
* of type String or Binary (not a Number or a set type). The target attribute of
* the comparison must be of type String or Binary (not a Number or a set
* type).
IN
: Checks for matching elements in
* a list.
AttributeValueList
can contain one or more
* AttributeValue
elements of type String, Number, or Binary. These
* attributes are compared against an existing attribute of an item. If any
* elements of the input are equal to the item attribute, the expression evaluates
* to true.
BETWEEN
: Greater than or equal to the
* first value, and less than or equal to the second value.
* AttributeValueList
must contain two AttributeValue
* elements of the same type, either String, Number, or Binary (not a set type). A
* target attribute matches if the target value is greater than, or equal to, the
* first element and less than, or equal to, the second element. If an item
* contains an AttributeValue
element of a different type than the one
* provided in the request, the value does not match. For example,
* {"S":"6"}
does not compare to {"N":"6"}
. Also,
* {"N":"6"}
does not compare to {"NS":["6", "2", "1"]}
*
For usage examples of AttributeValueList
and
* ComparisonOperator
, see Legacy
* Conditional Parameters in the Amazon DynamoDB Developer Guide.
A comparator for evaluating attributes. For example, equals, greater than, * less than, etc.
The following comparison operators are available:
* EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS |
* BEGINS_WITH | IN | BETWEEN
The following are descriptions of each * comparison operator.
EQ
: Equal. EQ
* is supported for all data types, including lists and maps.
* AttributeValueList
can contain only one AttributeValue
* element of type String, Number, Binary, String Set, Number Set, or Binary Set.
* If an item contains an AttributeValue
element of a different type
* than the one provided in the request, the value does not match. For example,
* {"S":"6"}
does not equal {"N":"6"}
. Also,
* {"N":"6"}
does not equal {"NS":["6", "2", "1"]}
.
NE
: Not equal. NE
is supported
* for all data types, including lists and maps.
* AttributeValueList
can contain only one AttributeValue
* of type String, Number, Binary, String Set, Number Set, or Binary Set. If an
* item contains an AttributeValue
of a different type than the one
* provided in the request, the value does not match. For example,
* {"S":"6"}
does not equal {"N":"6"}
. Also,
* {"N":"6"}
does not equal {"NS":["6", "2", "1"]}
.
LE
: Less than or equal.
* AttributeValueList
can contain only one AttributeValue
* element of type String, Number, or Binary (not a set type). If an item contains
* an AttributeValue
element of a different type than the one provided
* in the request, the value does not match. For example, {"S":"6"}
* does not equal {"N":"6"}
. Also, {"N":"6"}
does not
* compare to {"NS":["6", "2", "1"]}
.
* LT
: Less than.
AttributeValueList
can
* contain only one AttributeValue
of type String, Number, or Binary
* (not a set type). If an item contains an AttributeValue
element of
* a different type than the one provided in the request, the value does not match.
* For example, {"S":"6"}
does not equal {"N":"6"}
. Also,
* {"N":"6"}
does not compare to {"NS":["6", "2",
* "1"]}
.
GE
: Greater than or equal.
*
AttributeValueList
can contain only one
* AttributeValue
element of type String, Number, or Binary (not a set
* type). If an item contains an AttributeValue
element of a different
* type than the one provided in the request, the value does not match. For
* example, {"S":"6"}
does not equal {"N":"6"}
. Also,
* {"N":"6"}
does not compare to {"NS":["6", "2",
* "1"]}
.
GT
: Greater than.
* AttributeValueList
can contain only one AttributeValue
* element of type String, Number, or Binary (not a set type). If an item contains
* an AttributeValue
element of a different type than the one provided
* in the request, the value does not match. For example, {"S":"6"}
* does not equal {"N":"6"}
. Also, {"N":"6"}
does not
* compare to {"NS":["6", "2", "1"]}
.
* NOT_NULL
: The attribute exists. NOT_NULL
is supported
* for all data types, including lists and maps.
This operator tests
* for the existence of an attribute, not its data type. If the data type of
* attribute "a
" is null, and you evaluate it using
* NOT_NULL
, the result is a Boolean true
. This result is
* because the attribute "a
" exists; its data type is not relevant to
* the NOT_NULL
comparison operator.
* NULL
: The attribute does not exist. NULL
is supported
* for all data types, including lists and maps.
This operator tests
* for the nonexistence of an attribute, not its data type. If the data type of
* attribute "a
" is null, and you evaluate it using NULL
,
* the result is a Boolean false
. This is because the attribute
* "a
" exists; its data type is not relevant to the NULL
* comparison operator.
CONTAINS
: Checks
* for a subsequence, or value in a set.
AttributeValueList
* can contain only one AttributeValue
element of type String, Number,
* or Binary (not a set type). If the target attribute of the comparison is of type
* String, then the operator checks for a substring match. If the target attribute
* of the comparison is of type Binary, then the operator looks for a subsequence
* of the target that matches the input. If the target attribute of the comparison
* is a set ("SS
", "NS
", or "BS
"), then the
* operator evaluates to true if it finds an exact match with any member of the
* set.
CONTAINS is supported for lists: When evaluating "a CONTAINS
* b
", "a
" can be a list; however, "b
" cannot be a
* set, a map, or a list.
NOT_CONTAINS
: Checks for
* absence of a subsequence, or absence of a value in a set.
* AttributeValueList
can contain only one AttributeValue
* element of type String, Number, or Binary (not a set type). If the target
* attribute of the comparison is a String, then the operator checks for the
* absence of a substring match. If the target attribute of the comparison is
* Binary, then the operator checks for the absence of a subsequence of the target
* that matches the input. If the target attribute of the comparison is a set
* ("SS
", "NS
", or "BS
"), then the operator
* evaluates to true if it does not find an exact match with any member of
* the set.
NOT_CONTAINS is supported for lists: When evaluating "a
* NOT CONTAINS b
", "a
" can be a list; however,
* "b
" cannot be a set, a map, or a list.
* BEGINS_WITH
: Checks for a prefix.
* AttributeValueList
can contain only one AttributeValue
* of type String or Binary (not a Number or a set type). The target attribute of
* the comparison must be of type String or Binary (not a Number or a set
* type).
IN
: Checks for matching elements in
* a list.
AttributeValueList
can contain one or more
* AttributeValue
elements of type String, Number, or Binary. These
* attributes are compared against an existing attribute of an item. If any
* elements of the input are equal to the item attribute, the expression evaluates
* to true.
BETWEEN
: Greater than or equal to the
* first value, and less than or equal to the second value.
* AttributeValueList
must contain two AttributeValue
* elements of the same type, either String, Number, or Binary (not a set type). A
* target attribute matches if the target value is greater than, or equal to, the
* first element and less than, or equal to, the second element. If an item
* contains an AttributeValue
element of a different type than the one
* provided in the request, the value does not match. For example,
* {"S":"6"}
does not compare to {"N":"6"}
. Also,
* {"N":"6"}
does not compare to {"NS":["6", "2", "1"]}
*
For usage examples of AttributeValueList
and
* ComparisonOperator
, see Legacy
* Conditional Parameters in the Amazon DynamoDB Developer Guide.
A comparator for evaluating attributes. For example, equals, greater than, * less than, etc.
The following comparison operators are available:
* EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS |
* BEGINS_WITH | IN | BETWEEN
The following are descriptions of each * comparison operator.
EQ
: Equal. EQ
* is supported for all data types, including lists and maps.
* AttributeValueList
can contain only one AttributeValue
* element of type String, Number, Binary, String Set, Number Set, or Binary Set.
* If an item contains an AttributeValue
element of a different type
* than the one provided in the request, the value does not match. For example,
* {"S":"6"}
does not equal {"N":"6"}
. Also,
* {"N":"6"}
does not equal {"NS":["6", "2", "1"]}
.
NE
: Not equal. NE
is supported
* for all data types, including lists and maps.
* AttributeValueList
can contain only one AttributeValue
* of type String, Number, Binary, String Set, Number Set, or Binary Set. If an
* item contains an AttributeValue
of a different type than the one
* provided in the request, the value does not match. For example,
* {"S":"6"}
does not equal {"N":"6"}
. Also,
* {"N":"6"}
does not equal {"NS":["6", "2", "1"]}
.
LE
: Less than or equal.
* AttributeValueList
can contain only one AttributeValue
* element of type String, Number, or Binary (not a set type). If an item contains
* an AttributeValue
element of a different type than the one provided
* in the request, the value does not match. For example, {"S":"6"}
* does not equal {"N":"6"}
. Also, {"N":"6"}
does not
* compare to {"NS":["6", "2", "1"]}
.
* LT
: Less than.
AttributeValueList
can
* contain only one AttributeValue
of type String, Number, or Binary
* (not a set type). If an item contains an AttributeValue
element of
* a different type than the one provided in the request, the value does not match.
* For example, {"S":"6"}
does not equal {"N":"6"}
. Also,
* {"N":"6"}
does not compare to {"NS":["6", "2",
* "1"]}
.
GE
: Greater than or equal.
*
AttributeValueList
can contain only one
* AttributeValue
element of type String, Number, or Binary (not a set
* type). If an item contains an AttributeValue
element of a different
* type than the one provided in the request, the value does not match. For
* example, {"S":"6"}
does not equal {"N":"6"}
. Also,
* {"N":"6"}
does not compare to {"NS":["6", "2",
* "1"]}
.
GT
: Greater than.
* AttributeValueList
can contain only one AttributeValue
* element of type String, Number, or Binary (not a set type). If an item contains
* an AttributeValue
element of a different type than the one provided
* in the request, the value does not match. For example, {"S":"6"}
* does not equal {"N":"6"}
. Also, {"N":"6"}
does not
* compare to {"NS":["6", "2", "1"]}
.
* NOT_NULL
: The attribute exists. NOT_NULL
is supported
* for all data types, including lists and maps.
This operator tests
* for the existence of an attribute, not its data type. If the data type of
* attribute "a
" is null, and you evaluate it using
* NOT_NULL
, the result is a Boolean true
. This result is
* because the attribute "a
" exists; its data type is not relevant to
* the NOT_NULL
comparison operator.
* NULL
: The attribute does not exist. NULL
is supported
* for all data types, including lists and maps.
This operator tests
* for the nonexistence of an attribute, not its data type. If the data type of
* attribute "a
" is null, and you evaluate it using NULL
,
* the result is a Boolean false
. This is because the attribute
* "a
" exists; its data type is not relevant to the NULL
* comparison operator.
CONTAINS
: Checks
* for a subsequence, or value in a set.
AttributeValueList
* can contain only one AttributeValue
element of type String, Number,
* or Binary (not a set type). If the target attribute of the comparison is of type
* String, then the operator checks for a substring match. If the target attribute
* of the comparison is of type Binary, then the operator looks for a subsequence
* of the target that matches the input. If the target attribute of the comparison
* is a set ("SS
", "NS
", or "BS
"), then the
* operator evaluates to true if it finds an exact match with any member of the
* set.
CONTAINS is supported for lists: When evaluating "a CONTAINS
* b
", "a
" can be a list; however, "b
" cannot be a
* set, a map, or a list.
NOT_CONTAINS
: Checks for
* absence of a subsequence, or absence of a value in a set.
* AttributeValueList
can contain only one AttributeValue
* element of type String, Number, or Binary (not a set type). If the target
* attribute of the comparison is a String, then the operator checks for the
* absence of a substring match. If the target attribute of the comparison is
* Binary, then the operator checks for the absence of a subsequence of the target
* that matches the input. If the target attribute of the comparison is a set
* ("SS
", "NS
", or "BS
"), then the operator
* evaluates to true if it does not find an exact match with any member of
* the set.
NOT_CONTAINS is supported for lists: When evaluating "a
* NOT CONTAINS b
", "a
" can be a list; however,
* "b
" cannot be a set, a map, or a list.
* BEGINS_WITH
: Checks for a prefix.
* AttributeValueList
can contain only one AttributeValue
* of type String or Binary (not a Number or a set type). The target attribute of
* the comparison must be of type String or Binary (not a Number or a set
* type).
IN
: Checks for matching elements in
* a list.
AttributeValueList
can contain one or more
* AttributeValue
elements of type String, Number, or Binary. These
* attributes are compared against an existing attribute of an item. If any
* elements of the input are equal to the item attribute, the expression evaluates
* to true.
BETWEEN
: Greater than or equal to the
* first value, and less than or equal to the second value.
* AttributeValueList
must contain two AttributeValue
* elements of the same type, either String, Number, or Binary (not a set type). A
* target attribute matches if the target value is greater than, or equal to, the
* first element and less than, or equal to, the second element. If an item
* contains an AttributeValue
element of a different type than the one
* provided in the request, the value does not match. For example,
* {"S":"6"}
does not compare to {"N":"6"}
. Also,
* {"N":"6"}
does not compare to {"NS":["6", "2", "1"]}
*
For usage examples of AttributeValueList
and
* ComparisonOperator
, see Legacy
* Conditional Parameters in the Amazon DynamoDB Developer Guide.
A comparator for evaluating attributes. For example, equals, greater than, * less than, etc.
The following comparison operators are available:
* EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS |
* BEGINS_WITH | IN | BETWEEN
The following are descriptions of each * comparison operator.
EQ
: Equal. EQ
* is supported for all data types, including lists and maps.
* AttributeValueList
can contain only one AttributeValue
* element of type String, Number, Binary, String Set, Number Set, or Binary Set.
* If an item contains an AttributeValue
element of a different type
* than the one provided in the request, the value does not match. For example,
* {"S":"6"}
does not equal {"N":"6"}
. Also,
* {"N":"6"}
does not equal {"NS":["6", "2", "1"]}
.
NE
: Not equal. NE
is supported
* for all data types, including lists and maps.
* AttributeValueList
can contain only one AttributeValue
* of type String, Number, Binary, String Set, Number Set, or Binary Set. If an
* item contains an AttributeValue
of a different type than the one
* provided in the request, the value does not match. For example,
* {"S":"6"}
does not equal {"N":"6"}
. Also,
* {"N":"6"}
does not equal {"NS":["6", "2", "1"]}
.
LE
: Less than or equal.
* AttributeValueList
can contain only one AttributeValue
* element of type String, Number, or Binary (not a set type). If an item contains
* an AttributeValue
element of a different type than the one provided
* in the request, the value does not match. For example, {"S":"6"}
* does not equal {"N":"6"}
. Also, {"N":"6"}
does not
* compare to {"NS":["6", "2", "1"]}
.
* LT
: Less than.
AttributeValueList
can
* contain only one AttributeValue
of type String, Number, or Binary
* (not a set type). If an item contains an AttributeValue
element of
* a different type than the one provided in the request, the value does not match.
* For example, {"S":"6"}
does not equal {"N":"6"}
. Also,
* {"N":"6"}
does not compare to {"NS":["6", "2",
* "1"]}
.
GE
: Greater than or equal.
*
AttributeValueList
can contain only one
* AttributeValue
element of type String, Number, or Binary (not a set
* type). If an item contains an AttributeValue
element of a different
* type than the one provided in the request, the value does not match. For
* example, {"S":"6"}
does not equal {"N":"6"}
. Also,
* {"N":"6"}
does not compare to {"NS":["6", "2",
* "1"]}
.
GT
: Greater than.
* AttributeValueList
can contain only one AttributeValue
* element of type String, Number, or Binary (not a set type). If an item contains
* an AttributeValue
element of a different type than the one provided
* in the request, the value does not match. For example, {"S":"6"}
* does not equal {"N":"6"}
. Also, {"N":"6"}
does not
* compare to {"NS":["6", "2", "1"]}
.
* NOT_NULL
: The attribute exists. NOT_NULL
is supported
* for all data types, including lists and maps.
This operator tests
* for the existence of an attribute, not its data type. If the data type of
* attribute "a
" is null, and you evaluate it using
* NOT_NULL
, the result is a Boolean true
. This result is
* because the attribute "a
" exists; its data type is not relevant to
* the NOT_NULL
comparison operator.
* NULL
: The attribute does not exist. NULL
is supported
* for all data types, including lists and maps.
This operator tests
* for the nonexistence of an attribute, not its data type. If the data type of
* attribute "a
" is null, and you evaluate it using NULL
,
* the result is a Boolean false
. This is because the attribute
* "a
" exists; its data type is not relevant to the NULL
* comparison operator.
CONTAINS
: Checks
* for a subsequence, or value in a set.
AttributeValueList
* can contain only one AttributeValue
element of type String, Number,
* or Binary (not a set type). If the target attribute of the comparison is of type
* String, then the operator checks for a substring match. If the target attribute
* of the comparison is of type Binary, then the operator looks for a subsequence
* of the target that matches the input. If the target attribute of the comparison
* is a set ("SS
", "NS
", or "BS
"), then the
* operator evaluates to true if it finds an exact match with any member of the
* set.
CONTAINS is supported for lists: When evaluating "a CONTAINS
* b
", "a
" can be a list; however, "b
" cannot be a
* set, a map, or a list.
NOT_CONTAINS
: Checks for
* absence of a subsequence, or absence of a value in a set.
* AttributeValueList
can contain only one AttributeValue
* element of type String, Number, or Binary (not a set type). If the target
* attribute of the comparison is a String, then the operator checks for the
* absence of a substring match. If the target attribute of the comparison is
* Binary, then the operator checks for the absence of a subsequence of the target
* that matches the input. If the target attribute of the comparison is a set
* ("SS
", "NS
", or "BS
"), then the operator
* evaluates to true if it does not find an exact match with any member of
* the set.
NOT_CONTAINS is supported for lists: When evaluating "a
* NOT CONTAINS b
", "a
" can be a list; however,
* "b
" cannot be a set, a map, or a list.
* BEGINS_WITH
: Checks for a prefix.
* AttributeValueList
can contain only one AttributeValue
* of type String or Binary (not a Number or a set type). The target attribute of
* the comparison must be of type String or Binary (not a Number or a set
* type).
IN
: Checks for matching elements in
* a list.
AttributeValueList
can contain one or more
* AttributeValue
elements of type String, Number, or Binary. These
* attributes are compared against an existing attribute of an item. If any
* elements of the input are equal to the item attribute, the expression evaluates
* to true.
BETWEEN
: Greater than or equal to the
* first value, and less than or equal to the second value.
* AttributeValueList
must contain two AttributeValue
* elements of the same type, either String, Number, or Binary (not a set type). A
* target attribute matches if the target value is greater than, or equal to, the
* first element and less than, or equal to, the second element. If an item
* contains an AttributeValue
element of a different type than the one
* provided in the request, the value does not match. For example,
* {"S":"6"}
does not compare to {"N":"6"}
. Also,
* {"N":"6"}
does not compare to {"NS":["6", "2", "1"]}
*
For usage examples of AttributeValueList
and
* ComparisonOperator
, see Legacy
* Conditional Parameters in the Amazon DynamoDB Developer Guide.
A comparator for evaluating attributes. For example, equals, greater than, * less than, etc.
The following comparison operators are available:
* EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS |
* BEGINS_WITH | IN | BETWEEN
The following are descriptions of each * comparison operator.
EQ
: Equal. EQ
* is supported for all data types, including lists and maps.
* AttributeValueList
can contain only one AttributeValue
* element of type String, Number, Binary, String Set, Number Set, or Binary Set.
* If an item contains an AttributeValue
element of a different type
* than the one provided in the request, the value does not match. For example,
* {"S":"6"}
does not equal {"N":"6"}
. Also,
* {"N":"6"}
does not equal {"NS":["6", "2", "1"]}
.
NE
: Not equal. NE
is supported
* for all data types, including lists and maps.
* AttributeValueList
can contain only one AttributeValue
* of type String, Number, Binary, String Set, Number Set, or Binary Set. If an
* item contains an AttributeValue
of a different type than the one
* provided in the request, the value does not match. For example,
* {"S":"6"}
does not equal {"N":"6"}
. Also,
* {"N":"6"}
does not equal {"NS":["6", "2", "1"]}
.
LE
: Less than or equal.
* AttributeValueList
can contain only one AttributeValue
* element of type String, Number, or Binary (not a set type). If an item contains
* an AttributeValue
element of a different type than the one provided
* in the request, the value does not match. For example, {"S":"6"}
* does not equal {"N":"6"}
. Also, {"N":"6"}
does not
* compare to {"NS":["6", "2", "1"]}
.
* LT
: Less than.
AttributeValueList
can
* contain only one AttributeValue
of type String, Number, or Binary
* (not a set type). If an item contains an AttributeValue
element of
* a different type than the one provided in the request, the value does not match.
* For example, {"S":"6"}
does not equal {"N":"6"}
. Also,
* {"N":"6"}
does not compare to {"NS":["6", "2",
* "1"]}
.
GE
: Greater than or equal.
*
AttributeValueList
can contain only one
* AttributeValue
element of type String, Number, or Binary (not a set
* type). If an item contains an AttributeValue
element of a different
* type than the one provided in the request, the value does not match. For
* example, {"S":"6"}
does not equal {"N":"6"}
. Also,
* {"N":"6"}
does not compare to {"NS":["6", "2",
* "1"]}
.
GT
: Greater than.
* AttributeValueList
can contain only one AttributeValue
* element of type String, Number, or Binary (not a set type). If an item contains
* an AttributeValue
element of a different type than the one provided
* in the request, the value does not match. For example, {"S":"6"}
* does not equal {"N":"6"}
. Also, {"N":"6"}
does not
* compare to {"NS":["6", "2", "1"]}
.
* NOT_NULL
: The attribute exists. NOT_NULL
is supported
* for all data types, including lists and maps.
This operator tests
* for the existence of an attribute, not its data type. If the data type of
* attribute "a
" is null, and you evaluate it using
* NOT_NULL
, the result is a Boolean true
. This result is
* because the attribute "a
" exists; its data type is not relevant to
* the NOT_NULL
comparison operator.
* NULL
: The attribute does not exist. NULL
is supported
* for all data types, including lists and maps.
This operator tests
* for the nonexistence of an attribute, not its data type. If the data type of
* attribute "a
" is null, and you evaluate it using NULL
,
* the result is a Boolean false
. This is because the attribute
* "a
" exists; its data type is not relevant to the NULL
* comparison operator.
CONTAINS
: Checks
* for a subsequence, or value in a set.
AttributeValueList
* can contain only one AttributeValue
element of type String, Number,
* or Binary (not a set type). If the target attribute of the comparison is of type
* String, then the operator checks for a substring match. If the target attribute
* of the comparison is of type Binary, then the operator looks for a subsequence
* of the target that matches the input. If the target attribute of the comparison
* is a set ("SS
", "NS
", or "BS
"), then the
* operator evaluates to true if it finds an exact match with any member of the
* set.
CONTAINS is supported for lists: When evaluating "a CONTAINS
* b
", "a
" can be a list; however, "b
" cannot be a
* set, a map, or a list.
NOT_CONTAINS
: Checks for
* absence of a subsequence, or absence of a value in a set.
* AttributeValueList
can contain only one AttributeValue
* element of type String, Number, or Binary (not a set type). If the target
* attribute of the comparison is a String, then the operator checks for the
* absence of a substring match. If the target attribute of the comparison is
* Binary, then the operator checks for the absence of a subsequence of the target
* that matches the input. If the target attribute of the comparison is a set
* ("SS
", "NS
", or "BS
"), then the operator
* evaluates to true if it does not find an exact match with any member of
* the set.
NOT_CONTAINS is supported for lists: When evaluating "a
* NOT CONTAINS b
", "a
" can be a list; however,
* "b
" cannot be a set, a map, or a list.
* BEGINS_WITH
: Checks for a prefix.
* AttributeValueList
can contain only one AttributeValue
* of type String or Binary (not a Number or a set type). The target attribute of
* the comparison must be of type String or Binary (not a Number or a set
* type).
IN
: Checks for matching elements in
* a list.
AttributeValueList
can contain one or more
* AttributeValue
elements of type String, Number, or Binary. These
* attributes are compared against an existing attribute of an item. If any
* elements of the input are equal to the item attribute, the expression evaluates
* to true.
BETWEEN
: Greater than or equal to the
* first value, and less than or equal to the second value.
* AttributeValueList
must contain two AttributeValue
* elements of the same type, either String, Number, or Binary (not a set type). A
* target attribute matches if the target value is greater than, or equal to, the
* first element and less than, or equal to, the second element. If an item
* contains an AttributeValue
element of a different type than the one
* provided in the request, the value does not match. For example,
* {"S":"6"}
does not compare to {"N":"6"}
. Also,
* {"N":"6"}
does not compare to {"NS":["6", "2", "1"]}
*
For usage examples of AttributeValueList
and
* ComparisonOperator
, see Legacy
* Conditional Parameters in the Amazon DynamoDB Developer Guide.