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

Eingebettetes Dokument vs. Referenz im Mungo-Designmodell?

Es hängt hauptsächlich davon ab, wie Sie Ihre Daten abfragen und aktualisieren. Konsistenz und Dokumentengröße sind auch in diesem Fall wichtig. Hier ist eine gute Zusammenfassung zum Referenzieren oder Einbetten von Dokumenten:

Einbettung:

  • Kleine Unterdokumente
  • Daten, die sich nicht regelmäßig ändern
  • Endkonsistenz ist akzeptabel
  • Dokument, das um einen kleinen Betrag wächst
  • Daten, für deren Abruf Sie häufig eine zweite Abfrage durchführen müssen
  • Schnelles Lesen

Referenzierung:

  • Große Unterdokumente
  • Flüchtige Daten
  • Sofortige Konsistenz ist notwendig
  • Dokument, das stark wächst
  • Daten, die Sie häufig aus den Ergebnissen ausschließen
  • Schnelles Schreiben

Dies ist ein Auszug aus einem Buch über Mongo, das ich gelesen habe. Dies sind nur allgemeine Regeln, aber meiner Erfahrung nach macht es ihre Verwendung sehr klar, ob man meistens darauf verweisen oder sie einbetten sollte.

Ich würde in diesem Fall eher auf das Forum verweisen. Aber bitte berücksichtigen Sie alle Ihre Anforderungen. Wenn Sie beispielsweise auf das Forum von einem Benutzer verweisen und alle Benutzer eines bestimmten Forums abfragen müssen, kann die Abfrage in diesem Fall langsam sein. Wenn ich Sie wäre, würde ich eine Liste mit allem erstellen, was ich brauche, und dann anhand allgemeiner Regeln ein Gleichgewicht zwischen den Vor- und Nachteilen der Einbettung und Referenzierung finden.

Hoffe es hilft!