Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Referência estendida

Minha dúvida está relacionada a explicação da utilização de referência estendida. No código abaixo, são adicionados no documento de "clientes" as informações da Melissa com as de endereço que são mais consultadas, como rua, número e bairro. Até aí tudo bem. A minha dúvida é sobre o documento da coleção "endereço". Não há referência que aquele documento é referente ao endereço da cliente Melissa, portanto o correto não era utilizar no documento endereço o atributo creator {$ref: "clientes", $id: 2, $db: "vendas"}?

db.clientes.insertOne({ "_id": 2, "Nome": "Melissa Joana Mendes", "cpf": "738.424.165-04", "Data Nascimento": "13/10/1957", "Genero": "Feminino", "Empresa": "Alimentos LTDa", "Profissao": "Assistente administrativo", "Endereco":{ "Rua": "Travessa João Passos", "Numero": 191, "Bairro":"Olaria" } })

db.endereco.insertOne({ "Rua": "Travessa João Passos", "Numero": 191, "Bairro":"Olaria", "Cidade": "Aracaju", "Estado":"SE", "CEP":"49092-200" })

1 resposta
solução!

Oii, Jonathan, tudo certo?

Desculpe pela demora para tirar a sua dúvida.

No padrão de referência estendida, duplicamos apenas as informações necessárias em duas coleções.

No caso da Melissa, as informações necessárias seriam a rua, o número e o bairro. Essas informações foram incluídas como um subdocumento na coleção de clientes, dentro do campo Endereco.

Dessa forma, quando você precisar acessar as informações de endereço de um cliente, há como consultar diretamente o documento da coleção de clientes. Você não vai precisar fazer uma busca adicional na coleção de endereços. Isso reduz a quantidade de consultas e melhora a eficiência do servidor.

Contudo, no exemplo que você mandou também foi aplicado de forma certa! Ambas as formas são aceitas. :)

Se outra dúvida surgir, estamos aqui.

Abraços!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software