Many to many understanding in MongoDB

Hi guys
Coming from sql background, and trying to get into Mongo
I am developing a backend in nestjs with mongoose
Basically an “Enterprise” will hire one or more “Contractors” to facilitate the return of used it equipment from their employees.
A contractor can choose to do the job it self, or do some of it themselves and hire a subcontractor do some of the tickets. They could for instance choose that all employees with addresses in countries in Europe they do themselves, and for employees with addresses in countries in North America they hire a subcontractor.
They can also choose to hire subcontractors for all tickets, still specifying some countries that these subcontractor will manage.

It could also be that the contractor has departments in different countries that will do the fulfillment - these would also be sub contractors. But a subcontractor can also be a stand alone contractor, that only works with the primary contractor on this one Enterprise, meaning they have their own Entrerprise customers that they are Primary Contractors for

So basically an Enterprise can have many Contractors. A Contractor can have many Enterprises, and a Contractor can have many Subcontractors, as well as being a subcontractor themselves. I dont expect it to be thousands or even hundreds in any of the cases.

The main contractor will then be able to see all tickets, and filter them by subcontractor, while the subcontractor can see all the tickets they have been assigned. The Enterprise can see all the tickets.

Currently I have Enterprise, Contractor and optional Subcontractor ObjectIDs on my Ticket collection, to facilitate who can see the tickets.

I was trying to build it and ended up with 2 Contract collections.
An EnterpriseContract, that has the Enterprise objectID and the Contractor ObjectID, along with a string array called countries (plus other settings like agreed type of freight)
And a SubContractorContract that has a Contractor object ids for contractor and subcontractor, along with the same string array of countries.

It just feels like I am trying to normalize my MongoDB as I would in SQL, and that I am using it wrong. If you have any thoughts please let me know.

There’s an interesting post touching on this sort of thing.

In some ways, it sounds more like an RDBMS problem, but that could be because I’ve spent more years with RDBMS than with MongoDB.