2010-12-27 5 views
1

Was ist die beste Lösung, um linke Joins in einer NoSQL-Lösung wie MongoDB/Norm beizubehalten, wenn Sie die komplette Architektur eines cms nicht ändern können. Erfahrungen, Proben, Kosten.Joins durch Code in MongoDB erhalten

Danke.

+0

Können Sie auf Ihre Frage erweitern? Ich gehe davon aus, dass du meinst, LINKE VERBINDEN nicht VERBINDEN ... was meinst du mit "erhalten"? –

+0

Stell dir Posts und Caregories vor, Tags in drei Tabellen. NoSQL verlangt die Denormalisierung von Daten in einem einzigen Dokument, aber viele cms müssen Schnittstellen wie ICategory, ITags, IPost und vieles mehr erhalten. Das Objekt ist, wie diese Schnittstellen zurückgegeben werden, die Pseudo-Joins mit MongoDb simulieren, und die Kosten in Abfragen begrenzt werden, wenn Sie die ursprüngliche Architektur nicht ändern können, um denormalisierte Dokumente zu erstellen. – user325558

Antwort

0

kann ich zwei Möglichkeiten vorschlagen:

  1. große Dokumente erstellen, ich meine zwei, drei, zehn entites miteinander kombinieren. Wenn Sie zum Beispiel eine Referenz auf viele haben und Sie wissen, dass "viele" nicht mehr als 100 sind, können Sie diese Entitäten in den meisten Fällen zu einem kombinieren.
  2. Erstellen Sie "denormalisierte" Dokumente mit Daten, die Sie an Problemstellen benötigen. So laden Sie anstelle von Joins nur ein Dokument.
+0

Es ist nicht möglich, Dokumente einzubetten, die Pseudo-Gelenke erzeugen? – user325558

+0

Nein, das ist nicht möglich. –