Views Range query on two date properties

Hi,
I created a view index for a bucket with map() function which transforms the JSONs in it. The key that is emitted from the emit() function consists of two dates:
1> documentEffectiveDate
2> documentExpiryDate

Basically the emit is like this:
emit([doc.documentEffectiveDate, doc.documentExpiryDate], value)

Both the dates are in numerical format in ISO standard: yyyyMMdd.
Example: emit([20201111,20210101],{ })

Now, i have a document with:
1> documentEffectiveDate: 20201111
2> documentExpiryDate: 20210101

When i issue a range query to only get documents which are currently effective and not expired with:
(suppose current date is: 20210102)
1> startkey=[0,20210103]
2> endkey=[20210102,99999999]

it still gives the above said document which has expiry 20210101 which it should not because current date is 20210102 and the second range provided in the query doesn’t agree with it.

On further researching a bit i found out that if for a document , the first range element falls inside the given range, it basically skips checking the further given ranges.
But, if the first range element falls on the upper bound limit of range, then only it checks for second range.
It’s very frustrating. I have to achieve a very simple objective here but it seems views have a lot of limitations when it comes to querying.
Could you please advice me a solution for such problem? How can i query the view in such a scenario that i only get currently effective docs?

Thanks.