Na última seção, começamos a trabalhar em descartar cada uma das coleções que criamos entre
cada teste e terminamos a seção dizendo: "Gee, isso realmente não parece uma ótima abordagem aqui
com este tipo de Colback of Dune que nós temos.
Bem, aqui está o lado negativo.
Aqui está a coisa ruim sobre isso.
Infelizmente você não pode criar várias coleções dentro do Mongo ao mesmo tempo.
E assim, isso nos leva a tomar essa abordagem sequencial, na qual elaboramos cada coleção
uma de cada vez.
Agora, se você não gostar desse tipo de retorno de chamada que temos aqui, poderíamos refatorar
isso para fazer um loop sobre todas as diferentes coleções que temos.
Deixarei isso para você fazer esse refatorador, se é algo que você realmente quer ver agora, realmente
importante.
Eu também fiz um grande erro na última seção do Loxley e vamos corrigi-los agora.
Primeiro, quando o mangusto carrega essas coleções para o Mongo D. B e eles se refletem e Mongo D-B Mungo na
verdade normaliza cada nome de coleção pelo menor tamanho de todo o nome da coleção, então posts de blog com um
P maiúsculo não estão corretos.
Ele deve ser mantido ou postagens de blog com um P minúsculo.
Então eu também preciso ter certeza de que eu atualizo isso dentro da instrução drop aqui também.
Então isso foi um pouco de erro de digitação.
Eu fiz um dos erros que eu conheço.
Simplesmente horrivel.
Duas seguidas eu coloquei as declarações de requisição incorretas aqui.
Então eu disse exigir usuário de origem.
Este não é um caminho correto.
Na verdade, queremos subir um diretório em todos os três casos, porque agora estamos dentro do diretório
de teste.
Queremos ir até os usuários no código-fonte e obter os arquivos de modelo diferentes.
Então, novamente dois dois erros no meu lado.
Meu erro.
ESTÁ BEM.
Espero que você possa me perdoar.
Então, vamos começar a trabalhar em alguns testes em torno de associações.
Portanto, nosso objetivo agora é criar comentários de alguns usuários e postagens em blogs para
associá-los todos de alguma forma e ver como eles funcionam juntos.
Espero que possamos escrever alguns testes diferentes em torno dessas associações, então vou criar
um comentário para um usuário e uma postagem no blog antes de cada um e depois veremos como
todos funcionaram juntos.
Então vamos começar definindo R antes de
cada como definitivamente será assíncrono antes de cada.
Alguns definitivamente entram para incluir um retorno de chamada feito dentro daqui.
Nós também vamos criar três variáveis ​​diferentes dentro daqui que eu quero usar dentro de todos
os diferentes blocos de lado colocados dentro.
Este bloco descrito, então eu vou inicializar essas três variáveis ​​de cada vez.
Eu lembro que esta inicialização é toda sobre como um escopo funciona dentro de um javascript.
Já que vamos querer atribuir essas variáveis ​​dentro de cada uma, precisamos ter certeza de
que elas estão dentro do escopo externo também.
Vai encontrar Joe uma postagem no blog e um comentário.
Certifique-se de que você tenha postagens em minúsculas e c minúsculas.
Lembre-se de que as versões em maiúsculas de todos esses modelos indicam que essa é a
classe do modelo, enquanto letras minúsculas indicam que essa é uma instância desse modelo.
OK, então Joe blog post no comentário.
Agora vamos criar um de cada um desses posts e comentários do usuário.
Então, diga que Joe é um novo usuário com o nome de Joe.
E observe que eles não vão criar nenhuma associação ainda.
Em seguida, salvarei a postagem do blog em Nova postagem no blog.
Vai ter um título de jazz é ótimo.
E quanto a algum conteúdo do show?
É realmente.
Ou algo assim.
Então, para o comentário, faremos um novo comentário com alguma quantidade de contratos de conteúdo em um ótimo post.
ESTÁ BEM.
É praticamente isso para três recursos de configuração.
Então, quero dizer que estou fora por apenas um segundo para que você possa ver a linha inteira em cada um deles.
Vamos voltar.
Então, novamente, você notará que eu não fiz nada que realmente faça parecer que esses
registros estão associados de alguma maneira.
Então, eu não fiz nada para parecer que Joe é o dono desta postagem no blog ou que esse comentário
pertence a este post ou que Joe fez o comentário em si.
Então, como nada está amarrado aqui ainda a quatro dessas associações, temos que fazê-lo de uma forma
muito direta.
Então, isso é apenas muito direto. Estamos estabelecendo essas associações de uma maneira muito direta.
Primeiro, começaremos associando Joe à postagem no blog.
Então, vamos supor que Joe escreveu este post ou que este post pertence a ele.
Eu quero virar para o nosso arquivo de usuário muito rápido e lembrá-lo de que blog aqui mesmo.
Um usuário pode ter uma coleção de posts no blog.
Então, isso está em ordem aqui.
Eles podem ter uma coleção de posts para associar uma postagem de blog a um usuário.
Nós podemos escrever Joe dog posts no blog e enviar post do blog.
Você vai olhar para isso e imediatamente pensar consigo mesmo Wow isso se parece muito com o aninhamento de documentos.
Bem sim muito parecido muito parecido.
Então, dizemos que Joe tem uma coleção de posts no blog.
Eu quero que ele tenha uma nova associação com este post que acabamos de criar aqui.
Então, vou colocar todo esse post lá.
Você notará muito importante que isso é um pouco de mágica no lado do mangusto nas postagens do blog.
Nós dissemos que isso seria do tipo Object ID, mas nós apenas colocamos um modelo inteiro aqui.
Então isso é um pouco de magia no lado dos mangustos.
O Mongoose vai reconhecer que nós apenas empurramos um modelo inteiro e ele vai
dizer automaticamente OK, eles provavelmente estão tentando criar uma associação aqui.
Então eu não vou mexer com o modelo inteiro em si.
Eu estou indo apenas para configurar este objeto I. D. digite para se referir a esta outra postagem do blog.
Muito disso vai automaticamente fazer a coisa certa para nós, mesmo que tenhamos
empurrado todo o modelo.
Então, agora podemos criar uma associação entre uma postagem de blog e o comentário de maneira muito semelhante.
Então, diga comentários no blog Post Post.
Empurre comentário.
Então, novamente, uma postagem no blog tem muitos comentários.
Então, se abrirmos o esquema do nosso blog, ele está bem aqui.
Comentários é uma matriz porque é uma matriz.
Vamos empurrar este modelo de comentário para ele.
Mangus vai funcionar exatamente da mesma maneira aqui.
Vai dizer que os comentários OK devem estar gravando IDs de objetos e eles apenas tentaram empurrar um
modelo inteiro.
É provável que eles queiram armazenar todo o modelo que desejam apenas uma referência ao ID do objeto.
Então, novamente mangusto salvando o dia para nós.
ESTÁ BEM.
Última coisa.
Último.
Neste caso, queremos associar Joe a este comentário específico.
Então desta vez é um relacionamento.
Então um comentário.
Como um usuário é Joe?
Então, desta vez, não estamos empurrando para uma variedade de usuários que querem apenas dizer que este
comentário tem exatamente um autor e é Joe.
Então, para configurar essa relação, dizemos que o usuário burro comentário porque Joe Tudo bem agora este aqui
bem absolutamente mágico também.
Magia total no lado dos mangustos, porque você sabe que pode meio que Exceto que esse empurrão é como olhar para
essa coisa e dizer "ok, é um modelo".
Sim, há alguma mágica acontecendo, seja lá o que for pegar o ID do objeto.
Mas neste caso aqui estamos como duas maneiras sobre isso.
Estamos dizendo que essa propriedade do usuário é igual a Joe.
Então mangusto claramente tem um centro acontecendo nos bastidores ou algum tipo de interceptação nesta tarefa aqui e ele
vai dizer que eles estão tentando atribuir Joe a esta propriedade, mas isso é suposto
ser uma referência.
Então, as chances são que eles não querem definir como todo o Joe igual a dizer que eles só querem ter
uma referência a Jila assinado.
Então, novamente, um grande pedaço de magia no lado dos mangustos.
Tudo bem.
Então, correndo o risco de se transformar em uma seção muito longa, vamos dar uma pausa rápida e, em
seguida, vamos descobrir como salvar todos esses registros, porque eles ainda não foram salvos em nosso banco de dados.
Então, para fazer uma pausa rápida, descubra como nós os salvamos e depois trabalhamos em uma afirmação.