Eu abordei esse problema exato um tempo atrás.
Não há junções no mongo. Você deve cuidar manualmente da junção.
Suas opções são:
- Percorra cada entrada de comentário e consulte o mongo para o usuário. é isso que você está fazendo.
- Receba todos os IDs de usuários dos comentários, consulte o mongo para os usuários que correspondem a esses IDs e, em seguida, tome cuidado para corresponder o usuário ao comentário. Foi exatamente o que você fez, mas um pouco mais otimizado.
- Incorpore o usuário em comentários ou comentários em usuários. Não recomendaria isso, provavelmente este não é o lugar certo para comentários/usuários.
- Pense em qual conjunto de dados você precisa do usuário ao exibir um comentário e incorpore apenas essas informações no comentário
Acabei optando pela última opção.
Incorporamos o ID do usuário, nome e sobrenome em cada comentário. É improvável que essas informações mudem (possivelmente nem mesmo com permissão para alterar após a criação?).
Se ele pode mudar, então não é muito difícil adaptar o método update-user para atualizar os comentários relacionados com as novas informações (nós fizemos isso também).
Então agora nenhuma junção é necessária.