private function mapExpressions(array $arr_fields, Document $obj_doc)
    {
        foreach($arr_fields as $obj_field) {
            $str_field_name = $obj_field->getName();
            $obj_value = $obj_field->getValue();
            if(ContentType::GEO === $obj_value->getType()) {
                $obj_geo = $obj_value->getGeo();
                $obj_doc->setExpression($str_field_name, [$obj_geo->getLat(), $obj_geo->getLng()]);
            } else {
                if(isset(self::$arr_types_rev[$obj_value->getType()])) {
                    $obj_doc->setExpression($str_field_name, $obj_value->getStringValue());
                } else {
                    throw new \InvalidArgumentException('Unknown type mapping from Expressions');
                }
            }
        }
    }