Project by array element index

The documents look like this:

{'_id': ObjectId('6070aaa40f58ac3193c388d2'), 'variant_id': ['chr1', 60351, 'A', 'G', 'b38'], 'gene_id': 'ENSG00000268903.1', 'tss_distance': -75544, 'ma_samples': 28, 'ma_count': 33, 'maf': Decimal128('0.0774648'), 'pval_nominal': Decimal128('0.0000846859'), 'slope': Decimal128('0.496066'), 'slope_se': Decimal128('0.12321'), 'pval_nominal_threshold': Decimal128('0.000093155'), 'min_pval_nominal': Decimal128('0.0000262399'), 'pval_beta': Decimal128('0.0209234')}

{'_id': ObjectId('6070aaa40f58ac3193c388d3'), 'variant_id': ['chr1', 61920, 'G', 'A', 'b38'], 'gene_id': 'ENSG00000268903.1', 'tss_distance': -73975, 'ma_samples': 15, 'ma_count': 19, 'maf': Decimal128('0.0446009'), 'pval_nominal': Decimal128('0.0000639084'), 'slope': Decimal128('0.609808'), 'slope_se': Decimal128('0.1488'), 'pval_nominal_threshold': Decimal128('0.000093155'), 'min_pval_nominal': Decimal128('0.0000262399'), 'pval_beta': Decimal128('0.0209234')}

{'_id': ObjectId('6070aaa40f58ac3193c388d4'), 'variant_id': ['chr1', 63697, 'T', 'C', 'b38'], 'gene_id': 'ENSG00000268903.1', 'tss_distance': -72198, 'ma_samples': 75, 'ma_count': 82, 'maf': Decimal128('0.192488'), 'pval_nominal': Decimal128('0.0000355138'), 'slope': Decimal128('0.402319'), 'slope_se': Decimal128('0.0947622'), 'pval_nominal_threshold': Decimal128('0.000093155'), 'min_pval_nominal': Decimal128('0.0000262399'), 'pval_beta': Decimal128('0.0209234')}

My goal is to get only the first 2 elements of each array belonging to the variant_id field.

Aggregation:
[{'$match': {}}, {'$project': {'variant_id.0': 1, 'variant_id.1': 1}}]

The output contains exclusively empty arrays:
{'_id': ObjectId('6070aac8aa35c7fb75c8d11d'), 'variant_id': []}
{'_id': ObjectId('6070aac8aa35c7fb75c8d11e'), 'variant_id': []}
{'_id': ObjectId('6070aac8aa35c7fb75c8d11f'), 'variant_id': []}

Try the following array operator:

Thank you!
Isn’t there a more syntactically sugary way?