W twoim przypadku radziłbym skorzystać z danych referencyjnych. Ponieważ przypuszczam, że trzeba manipulować każdą z tych kolekcji z osobna (musisz mieć możliwość edycji/usuwania/aktualizowania "produktów" przez _id i wykonywania innych skomplikowanych zapytań, co jest znacznie łatwiejsze i bardziej efektywne, gdy masz oddzielne kolekcja).
W tym samym czasie przechowywałbym trochę pełne dane osadzone w kolekcji Użytkowników, tylko w celu przyspieszenia wyświetlania w przeglądarce odwiedzającego. Załóżmy, że masz stronę użytkownika, na której chcesz pokazać profil użytkownika oraz 5 najlepszych rynków i 20 najlepszych produktów. Możesz osadzić te najnowsze top-5 i top-20 w dokumencie użytkownika i zaktualizować te osadzone obiekty, gdy pojawią się nowe rynki/produkty. W tym przypadku - kiedy pokazujesz stronę użytkownika wystarczy wykonać tylko 1 zapytanie do MongoDB. Działa to jako pamięć podręczna. Jeśli odwiedzający musi zobaczyć więcej produktów, przechodzi do następnej strony „Produkty” i przeszukuje oddzielną kolekcję „Produkty” w MongoDB.