Ho affrontato questo problema esatto qualche tempo fa.
Non ci sono join in mongo. Devi occuparti manualmente del join.
Le tue opzioni sono:
- Esplora ogni voce di commento e interroga mongo per l'utente. questo è quello che stai facendo.
- Ottieni tutti gli ID utente dai commenti, interroga mongo per gli utenti che corrispondono a questi ID, quindi fai attenzione a far corrispondere utente a commento. Questo è proprio quello che hai fatto, ma un po' più ottimizzato.
- Incorpora l'utente nei commenti o nei commenti negli utenti. Non lo consiglierei, probabilmente non è il posto giusto per commenti/utenti.
- Pensa a quale insieme di dati hai bisogno dall'utente quando visualizzi un commento e incorpora solo queste informazioni nel commento
Alla fine ho optato per l'ultima opzione.
Abbiamo incorporato l'ID utente, il nome e il cognome in ogni commento. È improbabile che queste informazioni cambino (forse non è nemmeno consentito modificarle dopo la creazione?).
Se può cambiare, quindi non è troppo difficile adattare il metodo update-user per aggiornare i commenti correlati con le nuove informazioni (abbiamo fatto anche quello).
Quindi ora non è necessario alcun join.