Это не будет работать так, как вы хотели бы. MongoDB допускает некоторую денормализацию, но вы не можете денормализовать элементы 2M в одного родителя, как вы видели с проблемами пространства.
В SQL вы бы реализовали это как две таблицы. Вы можете реализовать это как две коллекции с MongoDB. Это может показаться неоптимальным, но представляет одинаковый общий объем работы в MongoDB или SQL.
Тем не менее, MongoDB может не быть "NoSQL" БД, которую вы ищете. Графовые базы данных, такие как Neo4J, предназначены для анализа сильно связанных данных. Кроме того, Redis поддерживает списки без ограничения размера, так что это также может быть лучше подойдет.