public function elemMatch($field, $expression)
    {
        $this->projection[$field] = array(
            '$elemMatch' => Expression::convertToArray($expression),
        );

        $this->skipDocumentPool();

        return $this;
    }
public function elemMatch($field, $expression)
    {
        $this->projection[$field] = array(
            '$elemMatch' => Expression::convertToArray($expression),
        );

        $this->skipDocumentPool();

        return $this;
    }
public function elemMatch ( $ field , $ expression ) { $ this -> projection [ $ field ] = array ( '$elemMatch' => Expression :: convertToArray ( $ expression ) , ) ; $ this -> skipDocumentPool ( ) ; return $ this ; }
Filter list of sub-documents

@see https://docs.mongodb.com/manual/tutorial/project-fields-from-query-results/#project-specific-array-elements-in-the-returned-array

@param string $field
@param Expression|array|callable $expression

@return Cursor

@throws Exception
Filter list of sub - documents