Depending on your use case and application, one solution is to segment off
the data - a similar approach to the hybrid schema design
You could try to use either time or application pagination to segment and
reduce the searchable dataset. For example, search only articles from the
past 3 days to reduce the amount of data to be filtered.
If possible, it is preferable to change the document structure such that
queries can be performed on values that exist, instead of documents that
don’t contain specific values. In addition, you can add other selective
filters (i.e. date/timestamp) to increase the selectivity of $nin.