MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Relações incorporadas ou referenciadas


No seu caso, eu aconselharia usar dados referenciados. Porque suponho que você precise manipular cada uma dessas coleções por conta própria (você precisa editar/excluir/atualizar "produtos" por _id e fazer algumas outras consultas complicadas, o que é muito mais fácil e eficaz quando você tem coleção).

Ao mesmo tempo, eu armazenava algumas dados incorporados completos na coleção de usuários, apenas para agilizar a exibição no navegador do visitante. Digamos que você tenha uma página de usuário na qual deseja mostrar o perfil do usuário e os 5 principais mercados e os 20 principais produtos. Você pode incorporar os mais recentes top-5 e top-20 ao documento do usuário e atualizar esses objetos incorporados quando houver novos mercados/produtos. Neste caso - quando você mostra a página do usuário, você precisa fazer apenas 1 consulta ao MongoDB. Então isso funciona como cache. Se o visitante precisar visualizar mais produtos, ele vai para a próxima página "Produtos" e consulta a coleção separada "Produtos" no MongoDB.