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

Beste Möglichkeit zum Speichern/Abrufen von Werten, auf die von einer Liste in Mongo/RectiveMongo verwiesen wird?

Genau dieses Problem habe ich vor einiger Zeit angepackt.

Es gibt keine Verknüpfungen in Mongo. Sie müssen sich manuell um die Verknüpfung kümmern.

Ihre Optionen sind:

  1. Durchlaufen Sie jeden Kommentareintrag und fragen Sie Mongo nach dem Benutzer ab. das machst du gerade.
  2. Alle Benutzer-IDs aus Kommentaren abrufen, Mongo nach den Benutzern abfragen, die mit diesen IDs übereinstimmen, dann darauf achten, den Benutzer mit dem Kommentar abzugleichen. Dies ist genau das, was Sie getan haben, aber etwas optimierter.
  3. Betten Sie den Benutzer in Kommentare oder Kommentare in Benutzern ein. Ich würde das nicht empfehlen, das ist wahrscheinlich nicht der richtige Ort für Kommentare/Benutzer.
  4. Überlegen Sie, welche Daten Sie vom Benutzer benötigen, wenn Sie einen Kommentar anzeigen, und betten Sie nur diese Informationen in den Kommentar ein

Am Ende entschied ich mich für die letzte Option.
Wir haben die Benutzer-ID, den Vor- und Nachnamen in jeden Kommentar eingebettet. Diese Informationen werden sich wahrscheinlich nicht ändern (möglicherweise dürfen sie nach der Erstellung nicht einmal geändert werden?).
Wenn es kann sich ändern, dann ist es nicht allzu schwer, die Update-User-Methode so anzupassen, dass die zugehörigen Kommentare mit den neuen Informationen aktualisiert werden (das haben wir auch getan).
Also ist jetzt kein Beitritt erforderlich.