public function setIntersection($expression1, $expression2, ...$expressions) : self
    {
        $this->expr->setIntersection(...func_get_args());

        return $this;
    }
public function setIntersection($expression1, $expression2, ...$expressions) : self
    {
        $this->expr->setIntersection(...func_get_args());

        return $this;
    }
public function setIntersection ( $ expression1 , $ expression2 , ... $ expressions ) : self { $ this -> expr -> setIntersection ( ... func_get_args ( ) ) ; return $ this ; }
Takes two or more arrays and returns an array that contains the elements
that appear in every input array.

The arguments can be any valid expression as long as they each resolve to an array.

@see http://docs.mongodb.org/manual/reference/operator/aggregation/setIntersection/
@see Expr::setIntersection

@param mixed|Expr $expression1
@param mixed|Expr $expression2
@param mixed|Expr ...$expressions Additional sets
Takes two or more arrays and returns an array that contains the elements that appear in every input array .