sql >> Base de Datos >  >> NoSQL >> MongoDB

¿La mejor manera de almacenar/obtener valores a los que se hace referencia en una lista en Mongo/RectiveMongo?

Abordé este problema exacto hace un tiempo.

No hay uniones en mongo. Tienes que encargarte manualmente de la unión.

Sus opciones son:

  1. Recorra cada entrada de comentario y consulte mongo para el usuario. esto es lo que estás haciendo.
  2. Obtenga todas las identificaciones de usuario de los comentarios, consulte en mongo los usuarios que coincidan con estas identificaciones, luego tenga cuidado de hacer coincidir el usuario con el comentario. Esto es exactamente lo que hizo, pero un poco más optimizado.
  3. Incrustar al usuario en comentarios o comentarios en usuarios. No recomendaría esto, probablemente este no sea el lugar adecuado para comentarios/usuarios.
  4. Piense en qué conjunto de datos necesita del usuario al mostrar un comentario e incruste solo esta información en el comentario

Terminé optando por la última opción.
Incrustamos la identificación del usuario, el nombre y el apellido en cada comentario. Es poco probable que esta información cambie (¿posiblemente ni siquiera se le permita cambiar después de la creación?).
Si puede cambiar, entonces no es demasiado difícil adaptar el método de actualización de usuario para actualizar los comentarios relacionados con la nueva información (también lo hicimos).
Así que ahora no es necesario unirse.