Se entendi direito você está salvando os ids de todos os produtos no atributo produtos na coleção lojas, essa implementação é valida em projetos de verdade? Pergunto pois estou achando difĩcil manter atualizado esse campo em um projeto real embora seja sim possível, e também com relação ao tamanho que esse objeto em si vai ficar devido ao array de ids de produtos.