MongoDB聚合运算符:$setIsSubset
文章目录
$setIsSubset
聚合运算符用于判断第一个数组是否为第二个数组的子集,如果是返回
true
,否则返回
false
。注意,两个数组相同也返回
false
。
语法
{
$setIsSubset: [ <expression1>, <expression2> ] }
<expression>
为可解析为数组的表达式。
使用
$setIsSubset
对数组执行集合操作,将数组视为集合。如果数组包含重复元素,$setIsSubset
会忽略重复元素,并且$setIsSubset
也会忽略元素的顺序。
如果集合包含嵌套数组元素,$setIsSubset
不会进入嵌套数组,而对顶层对数组进行评估。
举例 | 结果 |
---|---|
{ $setIsSubset: [ [ "a", "b", "a" ], [ "b", "a" ] ] } |
true |
{ $setIsSubset: [ [ "a", "b" ], [ [ "a", "b" ] ] ] } |
false |
举例
使用下面的脚本创建flowers
集合:
db.flowers.insertMany( [
{
"_id" : 1, "flowerFieldA" : [ "rose", "orchid" ], "flowerFieldB" : [ "rose", "orchid" ] },
{
"_id" : 2, "flowerFieldA" : [ "rose", "orchid" ], "flowerFieldB" : [ "orchid", "rose", "orchid" ] },
{
"_id" : 3, "flowerFieldA" : [</