How to model blocked users?

I am building an APP where users generate content, which is feed to other users. Users also have the option to block users and / or content.

I need to know how to model this system that can scale.

Let’s suppose an extreme example where a user has blocked over 1 million other users.

Each time my server has to generate the list of content to return to this user, the query would have to check with this user’s array of 1 million items to check if the recommended content is blocked or not.

How do modern web APPs solve this problem? I cannot think of any way scale when we consider these extreme examples.

which user?

Why such a big array? why not use 1million rows for it?

You know viewer id (or current user id) and the poster id, you can just do a query to check (view id, poster id) in database which is supposed to have an index.

That is my current solution. It is one block per row. This means that I have do a $lookup to check for the blocked users.