Jakiś czas temu poradziłem sobie z tym problemem.
W mongo nie ma złączeń. Musisz ręcznie zająć się złączeniem.
Twoje opcje to:
- Przejdź przez każdy wpis komentarza i zapytanie mongo dla użytkownika. to właśnie robisz.
- Pobierz wszystkie identyfikatory użytkownika z komentarzy, zapytaj mongo dla użytkowników pasujących do tych identyfikatorów, a następnie zadbaj o dopasowanie użytkownika do komentarza. To właśnie zrobiłeś, ale trochę bardziej zoptymalizowane.
- Umieść użytkownika w komentarzach lub komentarzach w użytkownikach. Nie poleciłbym tego, prawdopodobnie nie jest to właściwe miejsce na komentarze/użytkowników.
- Zastanów się, jakiego zestawu danych potrzebujesz od użytkownika podczas wyświetlania komentarza, i umieść tylko te informacje w komentarzu
Wybrałem ostatnią opcję.
Umieściliśmy identyfikator użytkownika, imię i nazwisko w każdym komentarzu. Ta informacja raczej się nie zmieni (może nawet nie można jej zmienić po utworzeniu?).
Jeśli może się to zmienić, więc dostosowanie metody update-user do aktualizacji powiązanych komentarzy o nowe informacje nie jest zbyt trudne (tak też zrobiliśmy).
Więc teraz nie jest potrzebne żadne dołączenie.