sql >> Databáze >  >> NoSQL >> MongoDB

Vložené nebo odkazované vztahy

Ve vašem případě bych doporučil použít referenční data. Protože předpokládám, že s každou z těchto kolekcí musíte manipulovat samostatně (musíte být schopni upravovat/mazat/aktualizovat „produkty“ pomocí _id a provádět některé další složité dotazy, což je mnohem jednodušší a efektivní, když máte oddělené sbírka).

Zároveň bych nějaké uložil plně vložená data ve sbírce uživatelů, jen pro zrychlení zobrazení v prohlížeči návštěvníka. Řekněme, že máte stránku uživatele, kde chcete zobrazit profil uživatele a 5 nejlepších trhů a 20 nejlepších produktů. Těchto nejnovějších top-5 a top-20 můžete vložit do dokumentu uživatele a aktualizovat tyto vložené objekty, když se objeví nové trhy/produkty. V tomto případě - když zobrazíte stránku uživatele, musíte udělat pouze 1 dotaz na MongoDB. Takže to funguje jako cache. Pokud si návštěvník potřebuje zobrazit více produktů, přejde na další stránku „Produkty“ a zadá dotaz na samostatnou kolekci „Produkty“ v MongoDB.



  1. Kdy byl dokument přidán do kolekce MongoDB

  2. Efektivní způsob mapování dat z Redis

  3. Vestavěný dokument MongoDB nezíská ID při uložení pomocí ovladače C#

  4. Mongo agregační rámec:jaká je úroveň uzamčení operace $out poslední fáze?