MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Schemadesign von MongoDB – Neue Sammlung oder Referenz?

Einführung:

In Ihrem Fall sind beide Varianten gut, da die Kategorie nur eine Aufzählung ist und Sie keine Kategorie laden müssen, um den Kurs anzuzeigen, Sie müssen nur eine Aufzählung erstellen und den Kategorienamen anhand der ID abrufen.

Aber wenn Sie beispielsweise eine Tabelle db.users haben und jeder Benutzer eine Sammlung von db.courses hat, müssen Sie kein separates Dokument erstellen, sondern nur verschachtelte Sammlungskurse. Und es ist wirklich cool, weil Sie in SQL eine separate Tabelle mit einer zu vielen Referenz erstellen müssen.

Der einzige große Vorteil der Dokumentendatenbank besteht darin, dass Sie große Dokumente mit verschachtelten Sammlungen erstellen können und keine Tabellen verknüpfen müssen.

Antwort:

Also in Ihrem Fall schlage ich zwei Möglichkeiten vor:

  1. Aufzählung für Kategorien erstellen und Kategorienamen nach ID abrufen (aber nicht von Mongo laden).
  2. Kopieren Sie einfach den Kategorienamen in den Kurs (aber im ersten Fall besser, denn falls der Kategoriename geändert wurde, müssen Sie jeden Kurs mit dem neuen Kategorienamen aktualisieren).