翻译或纠错本页面
- Reference >
- Operators >
- Aggregation Pipeline Operators >
- Set Operators (Aggregation)
Set Operators (Aggregation)¶
Set expressions performs set operation on arrays, treating arrays as sets. Set expressions ignores the duplicate entries in each input array and the order of the elements.
If the set operation returns a set, the operation filters out duplicates in the result to output an array that contains only unique entries. The order of the elements in the output array is unspecified.
If a set contains a nested array element, the set expression does not descend into the nested array but evaluates the array at top-level.
Name | Description |
---|---|
$setEquals | Returns true if the input sets have the same distinct elements. Accepts two or more argument expressions. |
$setIntersection | Returns a set with elements that appear in all of the input sets. Accepts any number of argument expressions. |
$setUnion | Returns a set with elements that appear in any of the input sets. Accepts any number of argument expressions. |
$setDifference | Returns a set with elements that appear in the first set but not in the second set; i.e. performs a relative complement of the second set relative to the first. Accepts exactly two argument expressions. |
$setIsSubset | Returns true if all elements of the first set appear in the second set, including when the first set equals the second set; i.e. not a strict subset. Accepts exactly two argument expressions. |
$anyElementTrue | Returns true if any elements of a set evaluate to true; otherwise, returns false. Accepts a single argument expression. |
$allElementsTrue | Returns true if no element of a set evaluates to false, otherwise, returns false. Accepts a single argument expression. |