Solved by creating custom sql queries.
Request for years:
SELECT count(*), $wpdb->posts.id as post_id_ts, YEAR( (SELECT $wpdb->postmeta.meta_value FROM $wpdb->postmeta WHERE $wpdb->postmeta.post_id = post_id_ts AND $wpdb->postmeta.meta_key = 'docs_pubdate')) AS years FROM $wpdb->posts WHERE $wpdb->posts.post_type="document_base" AND $wpdb->posts.post_status="publish" GROUP BY years
which will return result like this:
Array ( [0] => Array ( [count(*)] => 1 [post_id_ts] => 1126 [years] => 2017 ) [1] => Array ( [count(*)] => 3 [post_id_ts] => 1121 [years] => 2019 ) )
Request for months:
SELECT count(*), $wpdb->posts.id as post_id_ts, MONTH( (SELECT $wpdb->postmeta.meta_value FROM $wpdb->postmeta WHERE $wpdb->postmeta.post_id = post_id_ts AND $wpdb->postmeta.meta_key = 'docs_pubdate')) AS months FROM $wpdb->posts WHERE $wpdb->posts.post_type="document_base" AND $wpdb->posts.post_status="publish" GROUP BY months
And return is:
Array ( [0] => Array ( [count(*)] => 2 [post_id_ts] => 1121 [month] => 1 ) [1] => Array ( [count(*)] => 1 [post_id_ts] => 1122 [month] => 2 ) [2] => Array ( [count(*)] => 1 [post_id_ts] => 1126 [month] => 6 ) )