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

Relaciones incrustadas o referenciadas

En su caso, recomendaría utilizar datos referenciados. Porque supongo que necesita manipular cada una de esas colecciones por sí sola (necesita poder editar/eliminar/actualizar "productos" por _id, y hacer algunas otras consultas complicadas, lo cual es mucho más fácil y efectivo cuando tiene separado recopilación).

Al mismo tiempo, almacenaría algunos datos incrustados completos en la colección de Usuarios, solo para acelerar la visualización en el navegador del visitante. Supongamos que tiene una página de usuario en la que desea mostrar el perfil del usuario y los 5 principales mercados y los 20 productos principales. Puede incrustar los 5 principales y los 20 principales más nuevos en el documento del usuario y actualizar esos objetos incrustados cuando haya nuevos mercados/productos. En este caso, cuando muestra la página del usuario, debe realizar solo 1 consulta a MongoDB. Así que esto funciona como caché. Si el visitante necesita ver más productos, va a la página siguiente "Productos" y consulta la colección separada "Productos" en MongoDB.