I dit tilfælde vil jeg råde dig til at bruge refererede data. Fordi jeg formoder, at du skal manipulere hver af disse samlinger på egen hånd (du skal være i stand til at redigere/slette/opdatere "produkter" af _id og lave nogle andre komplicerede forespørgsler, hvilket er meget nemmere og effektivt, når du har separate kollektion).
Samtidig ville jeg gemme nogle fuld indlejret data i brugersamling, kun for at fremskynde visningen til besøgendes browser. Lad os sige, at du har en brugers side, hvor du vil vise brugerens profil og top-5 markeder og top-20 produkter. Du kan indlejre de nyeste top-5 og top-20 i brugerens dokument og opdatere de indlejrede objekter, når der er nye markeder/produkter. I dette tilfælde - når du viser brugerens side, skal du kun lave 1 forespørgsel til MongoDB. Så dette fungerer som cache. Hvis besøgende har brug for at se flere produkter, går han til den næste side "Produkter" og forespørger om separat "Produkter"-samling i MongoDB.