Transcrições
1. Introdução: Olá, todo mundo. E bem-vindos ao meu curso sobre a construção de labios em Norges com um trabalho de política no banco de dados Mongo DB a Star. Meu nome é Robert Probe, e eu vou ser instruído nas escolas. Então, neste curso, vamos construir o gráfico uma política foram do zero e irá cobrir todo o fenomenal
gráfico tal facilidade quadrada,
mutação, mutação, resolução de
assinatura ou contexto, relações
de tipo e muito mais. Vamos construir muitos anos no gráfico que você está usando mutação coreana. Nós também adicionaremos a autenticação uma alteração para proteger nossos olhos de AP. Nós também aprenderemos como lidar com eficientemente com pedreiras retas profundas. Você também está indo para implementar carros poderosos e desempenho são baseados paginação, e ele vai ser realmente mais rápido e mais eficiente em comparação com a
imaginação limite oficial . Eles também vão tornar o tempo de resposta mais rápido com patches e descontar usando os
dados que o Senhor é uma celebridade. Então esses cursos para qualquer um que esteja procurando construir um enxerto muito projetado, seus lábios com Apollo Server no banco de dados de George e Montgomery Bizarre, e eu vou vê-lo na minha primeira lição
2. Ferramentas e instalação: Olá, todos neste vídeo, vamos ver como podem baixar um pouco do laboratório? Mas é e as ferramentas que vamos usar neste curso. Então, a primeira coisa que eu quero que você baixe é o próprio banco de dados Mongo, então não sei se o motivo está no lugar. Tal banco de dados mongo em Dhere, você tem que basicamente é como este tipo de guerra aqui. Eu quero que você selecione as comunidades de banco de dados Mongo em vez da empresa que estavam em selecionar seu sistema operacional neles foram baixados. E uma vez que você terminar a instalação, simplesmente chamado o terminal em Descoberto, que é mongo. Então você vai entrar na concha de mambo. E se você for capaz de fazer isso, isso significa que o vira-lata está instalado corretamente no seu sistema. Próxima hora. Noodle nordea. O Norges. Então, se você basicamente visitar nem apenas ou warty em ir lá seção de download, você vai encontrar binários. Para com este sistema operacional, basta escolher o seu sistema operacional para baixo iria contaminar. E uma vez que você é feito com o isolamento, simplesmente feito este comum, que é o hífen norte V, que, como a origem nórdica e depois PM, hífen me para verificar a versão impressa. Então isso é tudo que você precisa fazer a seguir. Estou usando os V marcou um coordenador za, então você pode simplesmente não saber disso também, e no que diz respeito ao criminoso, estou usando o terminal para o Windows. Você pode baixá-lo a partir daqui, então simplesmente classifica para comandante Terminal em você ainda será ir até aqui e você pode baixar e usá-lo. Então há. Isso é tudo para as ferramentas e instalação em Espero que você foi capaz de acompanhar e muito
obrigado por assistir isso para você.
3. Prometa de vs Promise: Olá, todos neste vídeo, vamos entender como eles pensam disso. Difere com as promessas. E como você pode trabalhar com o direito de solteiro? Ok, então eu vou apenas explicar você pelo exemplo. Então deixe-me criar um arquivo aqui chamado nós está em Kobe. Está tudo bem? E você pode dar o nome que quiser. Então, em primeiro lugar, a palavra que eu vou fazer é criar uma promessa que vai
guiar o resultado após três segundos. Ok, então esses três segundos podem ser qualquer tarefa de gelo no mundo. Exemplo como uma p A chamada para nós sobre o qual está levando algum tempo para obter a resposta. Ok, mas aqui, eu só vou fazer isso fora do tempo definido método antigo que é ir toe simplesmente retornar o resultado depois de três segundos. Então, primeiro de tudo, vamos criar a promessa. Certo, vamos trabalhar com essa promessa. Em primeiro lugar, assim que terminarmos com a promessa do vídeo de nível um. Um único bit. Então, lá você pode claramente sobre o entender a diferença entre o pensar sobre isso e as promessas. Ok, então por estola aqui. Vou criar um cartão de promessa como mensagem de exibição. Ok, então basicamente há retornos nova promessa, ok? E o argumento da força é sempre resultado. E o 2º 1 é ejetado. Ok em. Eu vou fazer uso do método de setembro aqui, então eu vou simplesmente suspeitar de emote. Ok, então isso recebe uma chamada de volta, então este retorno de chamada vai ser executado depois de três segundos. OK, então aqui nós especificamos seus milissegundos de tempo, mãos 3000. Então aqui estou indo simplesmente é toda a promessa. Ok, então eu vou resolver com uma mensagem que nós vamos receber como um parâmetro para esta
função em particular . Certo, espaçado aqui. Agora, a maneira como você pode simplesmente trabalhar com a promessa é chamando esta função ok em você vai
obtê-la , em
seguida, ligar de volta. Ok. No interior do chamado retorno de chamada. Você receberá a sobremesa assim que esta promessa for cumprida. Ok, então, neste deserto, vamos simplesmente registrar esta sobremesa popular. Ok, no que diz respeito ao pedômetro, deixe-me apenas passar Olá. Ok. Então, espero que isso faça sentido. Agora deixe-me abrir o terminal que eu vou simplesmente dizer tochas inafundáveis Norte para que você não visse certo? Depois de três segundos, vamos sair da minha busca e nós apenas Olá? Ok, como você pode ver agora vamos supor que queremos trazer mais mensagem. Digamos que queremos fazer mais veículos, está bem? Assim que tivermos este resultado. Ok, então a idéia é fazer apenas outra promessa, Saul, quando o 1º 1 for o resultado. Então, a maneira como você pode fazer isso é executando sua tarefa nesta chamada de volta apenas. OK, certo. Se fizeres alguma coisa logo depois
disto, vai para o radar terrestre. Nós escrevemos, por exemplo, deixe-me apenas imprimir qualquer registro e deixe-me apenas empregar neste arquivo, ok? Então, como você pode ver, isso é impresso bem aqui porque esta tarefa está executando um sincronicamente em. Este é o retorno de chamada que é executado quando esta tarefa é concluída. Executando direito? Então, quando você tomou colocar o nosso segundo cartão nesta chamada de volta apenas Ok, então aqui eu vou simplesmente dizer novamente, exibir mensagem. E desta vez vou passar a morte. Ok. Então, novamente vamos obtê-lo, em seguida, chamado de volta. E então, novamente, nós vamos pegar a sobremesa. Ok, então aqui também, eu vou simplesmente registrar os resultados do console. OK, em uma espécie de chamada de volta. Vou fazer outra chamada para esta função. Está bem, deixa-me simplesmente as mensagens passarem. Teremos os resultados aqui. OK, então agora o que vai acontecer é antes de tudo essa promessa com lexical depois de três segundos vai receber o olá. Depois de três segundos, vou ser feito lá. Ok. E então eu vou ter depois de três segundos, nós vamos pegar o “What's up”. Ok, então eles destruíram com isso agora, certo? Então, recebemos todas essas três mensagens. OK, Mas o problema com isso é que estamos basicamente e trazendo para o
problema de ajuda de retorno de chamada. Ok, sobre este é um dos maiores problemas ao trabalhar com uma tarefa de singleness em JavaScript. Ok, então você acaba sendo chamado de volta. Inferno, certo. Digamos que tenha mais cinco ligações, certo? Então imagine de que tipo? Claro que pareceria, certo? E se alguma promessa falhar, então precisamos,
tipo,
pegar tipo, , bloquear, cumprir cada promessa, certo? Porque nunca sabemos quais promessas serão rejeitadas. Certo. Então o que precisamos fazer é aplicar o bloco de captura. Certo, que recebe o outro objeto. Ok. E precisamos trazer essa era bem aqui. Ok. Multibanco. Vai budistas para cada promessa chamada. Certo. Permitam-me, pois, que estas cópias sejam baseadas no bom salto e o Sr. Door tem razão. Então agora você pode ver como está o tribunal? É basicamente acabou no callback. Diabos, certo, então este não é um tribunal confiável. Ok, então a pensar nisso, palavra-chave basicamente permite que você trabalhe com as promessas sobre isso torna seu tribunal mais legível fazendo seu tribunal parecer muito cínico louco. Ok, então isso está fora do curso olhar não vai dar certo, porque nós temos um monte de chamadas de volta aqui, mas gostaria de ver como você pode trabalhar com o pensamento sobre isso em, fazer a mesma coisa aqui. Ok, trazer a mesma mensagem está tudo bem, então lembre-se que a coisa disso funciona apenas com as promessas. Ok, então, primeiro de tudo, eu vou criar uma função. Ok,
então, por exemplo, Const minha função. Ok, nesta função, eu vou chamar essa exibição de promessa. Perder isso. Ok, então a maneira como você pode chamar a promessa com a flexibilização da palavra-chave é primeiro horrível escrevendo a palavra-chave aberta. Ok. E então você precisa especificar sua promessa, que é mensagem de exibição. Certo, fora do curso está esperando uma discussão. Então eu vou passar o “olá “também. Ok em. Lembre-se sempre de lá para fazer uso fora da palavra-chave. Sua função. É para ser uma pia. OK, então onde quer que você esteja escrevendo o cabo Await, sua função, é basear-se. Então eu vou colocar o pessoal da pia aqui, ok? E eu posso simplesmente obter o resultado estavam aqui assim. Ok. Na verdade, o que vou fazer, vou declarar. Os resultados aqui, que vão estar vazios. A corda está desligada. Agora em diante. Eu só fico dizendo este recurso a esta variável em particular. Ok? Agora, o que eu preciso fazer é simplesmente chamar a mensagem de exibição novamente, ok? E apenas passando a minha irmã. Eu quero passar. Então aqui desta vez eu quero passar por lá. Ok. E eu posso novamente simplesmente designar o deserto. Então esta variável
em particular ok, novamente, eu posso fazer a mesma coisa com Newman. Disse que se é vessup. Ok. Agora, a coisa
importante a notar aqui é que isto está de plantão só irá excluir quando isto for cumprido. Certo, então essa é a beleza da coisa. Então o de que está realmente indo toe parar o fluxo de controle movendo-se para a frente até e a menos que esta promessa em particular seja ou resultados ou rejeitar. Então essa é a coisa mais importante sobre isso. Por isso não acabamos nos callbacks, certo? Porque isso é basicamente esperando até e a menos que este problema promete recorrer. Ok, então nosso fluxo de controle não vai avançar. E deixe-me adicionar o registro do console aqui para que você possa ver corretamente a sequência execução. Então aqui eu trago o resultado aqui. Basta copiar isto, imprimi-lo novamente e imprimi-lo novamente. Ok. E deixem-me simplesmente elogiar a promessa para que possam, naturalmente, ver correctamente. Então deixe-me salvar isso em supostamente passar por cima do terminal deles. Certo, limpe o console. e execute este arquivo. Ok? E acho que esqueci de chamar essa função. Então deixe-me apenas chamar disfunção também aqui no fundo. Agora, neste arquivo no hit. Entrar. Então vamos ver, o que ganhamos? Temos o resultado como “olá “para o civil aqui. Então chegamos lá e finalmente temos B. O que foi? Ok, agora você pode comparar a diferença do tribunal que isso traz. Quando acordamos a promessa e quando trabalhamos com o pensamento, este tribunal é extremamente simples e legível para os desenvolvedores em comparação com
este . Ok, então você pode imaginar como é fácil e eficiente trabalhar com isso. Pense nisso. Teclado em vez das promessas. Ok, em. Mesmo se falamos sobre o tratamento de erros, é muito melhor em caso de um único bit em comparação com as promessas. Como você pode ver aqui, eu tenho que aplicar o bloqueio de captura em todas e todas as promessas, certo? Ok. A razão é que qualquer coisa fora desta promessa pode ser rejeitada, certo, mas no caso de um escritório inovar, a palavra-chave principal lança teatro como uma exceção. Lembrem-se, esta promessa foi rejeitada. Ok, então o que você pode fazer é você pode lidar com a exceção usando apenas uma tentativa fica bloco. Está bem, então deixa-me mostrar-te como é. Então deixe-me. Eu escrevi fica bloqueado também. Tudo que eu preciso fazer é simplesmente trazer teatro aqui no registro do console. Ok, então deixe-me fazer isso. Deixa-me levar tudo daqui, está bem? E colado aqui. Então, agora, se alguma coisa fora desta promessa for rejeitada, pode ser simplesmente tratada aqui neste bloco de
esboços, OK? Assim, como você pode ver como seu núcleo parece bom quando você trabalha vídeos, pense nisso em comparação com as promessas. Ok? E vamos tentar. Faça isso em um cenário para mostrar o outro caso. Então deixa-me entrar nisto. Então deixe-me mostrar um exemplo de como este bloco de gaiola será executado. Então vamos nessa promessa em particular. Minhas mensagens de divórcio dizendo que precisamos basicamente rejeitar a promessa. Então, aqui eu posso simplesmente dizer se a mensagem é necessária. Então, o que se passa? Simplesmente rejeitado em simplesmente dizer que algo foi, mas tudo bem aqui são também eu estou indo para a nossa declaração não fez para que os blocos do tribunal
não é executado para isso. Está bem, deixando-nos a embaixada deste grande terminal de lixo na estrada seca nesta luta, para que vejam que a força vai receber a mensagem de “olá”. Depois eles estão lá. E assim que o chefe se levantar, nossa tarefa é como executado vai chegar lá. Então, como você pode ver, chegamos lá nele é aqui no algo deu errado. Ok? E nós somos capazes de fazer essas mordidas jogando um único bloqueio de captura, ok? E em caso de promessa, esperávamos, como borda, bloquear cada promessa chamada. Ok. E mais uma coisa que eu gostaria de dizer a vocês sobre o que pensar nisso. Mantenha-o. É que a palavra-chave aguarde fora do curso espera a promessa. Certo,
então, no nosso caso, está retornando uma promessa. Então está funcionando. Tudo bem. OK, então você pode aplicar a palavra-chave órbita em Lee para fazer duas coisas. O primeiro 1 é se você é função, está retornando uma promessa que, no nosso caso, está indo bem. Assim, as mensagens de exibição retornando uma promessa ou sua função deve estar enfrentando função se ele está em ordem girando uma promessa. Lembre-se desses dois casos,
ou sua função está retornando uma promessa ou sua função é uma função incrível. Lembre-se desses dois casos, Então deixem-me mostrar-vos pelo exemplo. Então deixe-me Há declarada uma função aqui citada como saudações em, deixe-me fazer esta função como uma pia. Ok? Sobre ele vai simplesmente lá, feito, por exemplo. Ei! Ok. Então agora eu posso aplicar a palavra-chave aguarde toe esta função de obtenção porque tem estes no teclado com ele. Ok? E lembre-se, eu acabei de te dizer agora que ou a função tem um aluno e uma promessa ou tem que
ser qualquer coisa funcional. Certo, então vamos aplicar a palavra-chave Await. Então esta função de saudação ok, deixe-me simplesmente obter o resultado aqui e deixe-me até mesmo console lobby. Então agora eu vou executar isso. Mas antes disso, deixem-me apenas comentar sobre os bloqueios do tribunal para que não possamos ficar
melhor . Lembrem-se, esta promessa em particular é executada. Ok, então deixe-me ser o dominante deles nesta luta. Diz que pode ver que guardamos o hey meu sexual aqui, que está impresso aqui, certo? Então agora vamos entender que diferença especial faz o ace na palavra-chave para uma
função normal . Então animal que você aplicar é na palavra-chave toe uma função normal, e ele retorna o valor que este valor não é retornar como um valor simples. Em vez disso, esse valor é retornado como uma promessa. Ok, então o que ele vai fazer é tentar sempre resultar este valor em particular como uma promessa. E essa é a razão pela qual você é capaz de aplicar a órbita. palavra-chave sobre a questão do fato é, se você estiver usando essa função de trote, então você também pode simplesmente dizer grandes coisas. Eu pensei. Então você pode se inscrever, depois aqui. Ok, então a razão pela qual você pode fazer isso é porque isso está basicamente resolvendo como uma promessa. Implicitamente, você não é capaz de vê-lo. Mas o Zinke, o que está fazendo isso? Está bem, então deixa-me mostrar-te, está bem? Então eu vou simplesmente console rapidamente log que eles mereciam aqui. Ok, agora deixe-me ir ao dominante deles e verificar este arquivo. Então, como você pode ver, nós temos o valor imediatamente. Então há. Isto era tudo por causa disto. Pense nisso. Teclado ligado. Espero que tenha sido capaz de entender isso. Muito obrigado por assistir este vídeo.
4. Operador de spread: Olá. Todo mundo neste realmente de seu vai entender o que um espírito operadores no imposto sobre como podemos usá-lo? Então basicamente espalhar operativos no texto permite que você vá buscar os elementos das variáveis como a nossa string A e até mesmo o objeto diz Bem, então deixe-me mostrar-lhe pelo exemplo. Primeiro de tudo, vou ouvir criar um arquivo chamado “Operador Espiritual”. George está bem. E digamos que eu não tive um aqui chamado como todo mundo. Ok. Que está mantendo valor como Warren para a entrada. Ok. Não, a maneira que você pode fazer uso fora operador espírito é simplesmente dizendo, deixe-me mostrar-lhe pelo exemplo, este índice para ele é ponto triplo no seu problema com isso longe. Ok, então deixe-me salvar isso. Vamos para o terminal nesta luta em particular. Então eu vou dizer o operador do espírito norte Dajae. Então, como você pode ver, eles não eram 23 Ok, então o que este índice está fazendo é simplesmente tirar os valores desta área e
espalhá-lo por aqui. Ok, então acabou de imprimir 123 Ok, agora o que eu quero fazer é supor que eu tenho outro dia chamado de Const Readyto. Só precisamos do dedo do pé para cinco e seis. Ok, agora vamos eu quero criar Thurday usando este forçado a sempre para que eu possa simplesmente dizer concerto uma árvore igual dedo eu posso espalhar sobre o outro. Ok, então eu posso espalhar por todos os valores do rádio, e é isso. É tudo o que preciso fazer. Então deixe-me apenas registrar o console também. Está bem, deixa-me dizer isto neste ficheiro. Então, como pode ver, eu entendi. Artéria, que tem valor como 1234 que pertence ao 1º 1 Ok, então está se espalhando por aqui, e então temos 456 Ok, que pertence ao secundário. Não, se eu não estivesse usando essa sintaxe de espírito do que o que teria acontecido é que ele vai simplesmente, hum, colocar todo esse array em vez de valores aqui. Então esta palavra forma na propriedade. Está bem
, deixa-me mostrar-te. Então, como você pode ver, este é o seu principal hoje e inserir fora isso. Você tem toda essa matriz. Então este é o todo mundo. Este é o rádio, mas não é o que queremos, certo? Ele está criando uma estrutura de dados complexa. Não. Uma coisa mais importante sobre o operador de propagação é que, juntamente com os valores de propagação , ele sempre faz uma cópia fora da ferida. Então, por exemplo, aqui, as fontes Todos aqui, as fontes estão lá também. Então, não está indo para o pé. Eles são amigos por aqui. Ok. Vai sempre fazer uma cópia. Então, como é benéfico para nós. Então, sempre que você faz uma empresa para uma nova área e se você fizer mudanças no novo do que ele não vai refletir sobre o antigo, certo? Então isso também terminou um dia fora desta telefonista bonita. Agora, deixe-me também mostrar o exemplo de como seus amigos criam o problema. E não é como o operador de propagação é principalmente para resolver o problema da diferença. Alderdice espalhando valores. Mas também está criando uma cópia dessas feridas. Certo
, não vai para os amigos. Então deixem-me mostrar-vos pelo exemplo. Então eu vou entrar nisso, ok? E vamos supor que queríamos manter os outros três como os outros. Então, a única maneira de fazer isso, que é simplesmente atribuir a podologia de todos, ok. E eu suponho que se eu mudar a árvore de área, empurrar alguns outros valores como seis aqui, deixe-me simplesmente imprimir ambos fora da área. Estamos aqui. Ok, então eu estou indo para a Índia. Onde um, bem como a teoria três. Certo, então eles vão salvar isso. Vá para o terminal em se eu rodar este arquivo em particular. Então, como você pode ver a bordo da matriz, mantenha o mesmo valor. Isso significa que os seis olhos colocam o dedo do pé no outro também, mesmo que eu a empurrei para a reitoria. Agora, a razão disso aconteceu é porque isso está criando um amigo para a matriz três. Ok, então não é criar uma cópia oferecida. Agora, uma maneira de resolver este problema é usando a matéria de uma fatia de um ponto. Ok, então o que isso vai fazer? Em vez disso, está fora para um amigo cantor? Eles querem ir para o território. Vai fazer uma cópia de todos para os outros três. Então me deixe só por aí agora. Então, como você pode ver desta vez todos estão segurando seu valor original, que é 123 apenas. E desde que empurramos o valor seis para os outros três, ele está segurando 123 e bem sucedido. Ok, então, não, eu vou falar com alguém sobre esta linha. Ok? E em vez de matéria fatia, vou fazer você amar o operador de propagação, que é todo mundo ok em Deixe-me fazer o esporte triplo ponto aqui na GMA. Tentou rodar isso de novo, e você verá isso de novo. O todo mundo está segurando seus valores originais, e a árvore está segurando 1236 Ok, então isso significa que este operador de propagação sempre faz uma cópia fora da fonte em vez de criar uma diferença. Ok. Ok. Então, agora que entendemos tudo sobre o aumento, agora vamos entender. Como podemos trabalhar com o objeto usando o Syntex? Agora eu vou fazer isso fora do mesmo objeto que usamos no vídeo anterior, que foi este. Ok, que é um objeto de usuário e segurando algumas das propriedades. Então deixe-me chamar isso de usuário um, certo? E vamos supor que queremos criar um usuário para objeto. Nós dissemos os mesmos valores, mas eu só quero mudar o nome de David para John. Então vamos ver, como podemos fazer isso? Então aqui eu vou dizer dedo do usuário, que é igual ao usuário um. Ok. E eu quero alterar o valor como usuário para nome de ponto igual a John. Então deixe-me apenas consolar os dois. Então ele escreve um registro de console. Use aquele, que é o usuário um aqui. Ok em. Vou consolar ao longo do dedo do usuário também. Ok, agora deixe-me abrir um terminal na escola. Não faça. Aqui em cima. Deixe-me colocar essa luta. Então agora você veria que a propriedade nomeada do usuário é superestimada com o John. Ok. Mesmo que eu só esvaziasse o usuário para se opor. Então, a razão pela qual isso aconteceu é porque o usuário um está sendo criado como uma referência ao usuário para objeto. Ok, não
foi coberto, então vamos ver, como podemos copiar isso? Então a única maneira é fazer uso do objeto, o senador, então eu vou simplesmente dizer objeto, não atribuir em que eu vou ser é o objeto alvo deles onde eu quero copiar o objeto. Ok, então o objeto alvo deles é o usuário também. E esse objeto de origem é o usuário. Ok, agora, se eu fugir, deixe esta luta novamente. Você verá que o objeto original, que é o usuário um, está mantendo a mesma propriedade de nome com esse débito e seu objeto de destino atualizado. A propriedade do nome é John. Ok, agora, vamos ver. Como podemos basicamente fazer tudo usando este operador de impressão que estamos fazendo aqui? Ok, então a idéia é fazer simplesmente um usuário para se opor, e sobre ele as propriedades de nome, John, usando o operador de propagação. Por isso, vou entrar nisto, está bem? E aqui, eu vou dizer, const usuário toe é igual a objeto. Então, primeiro de tudo, eu vou espalhar todas as propriedades fora do usuário um Ok on. Quero atualizar o nome. Certo, então ele cavalga. O nome dele é John. Ok, em Vamos eu quero adicionar propriedade extra, que é sexo, ok. E vou ligar para a sua mesa de jantar. Ok, agora, esta propriedade nome será superestimada neste usuário para se opor porque nós estamos espalhando toda essa propriedade aqui neste nome, Robert já está presente. Ok, então será superestimado. E uma vez que este gênero é uma nova propriedade que não está presente no usuário um objeto por isso será simplesmente eu fiz para o usuário para objeto. Ok, então deixe-me escrever bem sobre isso de novo. Vamos ver o resultado sobre obter. Então, como você pode ver, o objeto original está mantendo os mesmos valores. E o novo objeto tem a nova propriedade do Jonah. Além
disso, tem a propriedade gentil que eu fiz aqui. OK, então como você pode ver como é fácil para os nossos criadores fora deste operador de impressão OK em simplesmente tinha algumas propriedades para ele em. Você pode ver que mesmo que eu saiba onde eu fiz a propriedade nome, ele não está sendo superestimado. Dedo do pé do usuário. Um objeto porque você está criando uma cópia do usuário. Um objeto, nem seus amigos aceitaram. E você pode ver em vez dessas três pistas, é o guarda do tribunal convertido em apenas cantar alinhado direito sobre. Na verdade, deveria ter havido mais uma postura para montar o gênero aqui. Então, na verdade, as quatro linhas são convertidas, conhecidas por apenas uma única linha. Ok. Então, como você pode ver como é fácil trabalhar com este operador de placa e como ele basicamente é o menos espalhado sobre os valores OK do terrível, como objeto. Mas assim como cordas nele vai criar uma cópia fora do instrumento de origem. A diferença. Ok, então pessoal, isso era tudo sobre este operador de propagação ligado. Espero que você foi capaz de entender em Muito obrigado por assistir este vídeo.
5. A destruição de objeto e array de objetos: Olá, todos. Então, neste vídeo, vamos entender o que é estruturação do dia em Como podemos usar a sua estruturação? Então distritar basicamente permite que você busque as propriedades do objeto em valores
da variável em individual. Então deixe-me mostrar-lhe pelo exemplo ou eles querem dizer com isso. Então aqui eu vou criar um arquivo chamado como eles estruturando Norges. OK, agora, neste arquivo, eu vou para o Primeiro Mundo declarado um objeto de usuário. Ok, neste objeto de usuário está indo toe hold algumas das propriedades, como nome como David, em seguida,
temos idades. Por exemplo 22, em seguida, temos cidade como tão como cidade em Finalmente, temos país como EUA A OK, então vamos dizer que temos o objeto de usuário agora. O que queremos fazer é que queremos gordura para o nome e o país em variável individual. Ok, então o jeito que você faria sem o distrito é muito declarante disponível aqui. Então você diria que o nome const é igual ao usuário Gortney. E você diria que o país const é igual ao país escuro do usuário. Ok, não, deixe-me jogar a mesma coisa com estas duas variáveis aqui, então eu não disse Nome como nome. Por aqui. Olhe isso e o mesmo para o país. Ok, então agora deixe-me abrir uma Onda terminal nesta luta em particular. Então aqui, eu vou dizer Nord, o George estruturante. Então, como você pode ver, temos o nome é David e o país, como você diz. Ok, agora vamos ver. Como podemos fazer o mesmo? Usando a estruturação do dia deles. Então isso lhe disse antes que o sucesso permite lutar contra propriedades da cidade a partir do objeto. Ok. E aqui, muito agora, usando o objeto também considerará o exemplo da teoria. Mas primeiro vamos dar uma olhada no objeto. Primeiro de tudo, vou elogiar isso e a maneira como você pode Destruidor este objeto está baseando Const. Então você tem o espaço de assistência médica. Então você tem que especificar os nomes de propriedade que você deseja lutar a partir deste objeto. E lembre-se de que esse nome de propriedade deve corresponder ao presidente de propriedades no objeto. Então, por exemplo, quero encarar o nome e o país. Ok, então é assim que eu faria, e eu vou passar o objeto do usuário. Ok, Então o que ele vai fazer é basicamente fonte para a propriedade nome no objeto de usuário e propriedade country
declarada neste objeto de usuário. Ok. E ele está indo toe criar o mesmo para variável individual com esses valores. OK, então isso não é criar objeto. Ok, isso implicando para conservar variável. Então deixe-me simplesmente dizer isso E uma vez que temos controle registrando isso muito bem, certifique-se contra obter a mesma sobremesa. Ok, então aqui, eu vou dizer norte este maldito lindo para que como você pode ver novamente considerar esta
variável individual . Ok, então muitas pessoas ficam confusas, como se fosse um objeto ou algo assim. Mas não, é apenas criar duas variáveis. Certo, é
assim que nosso distrito funciona com o objeto. Não, vamos entender. Como podemos lidar com a festa também? Ok, então aqui, primeiro de tudo, eu vou declarar em Caldas Maya em Vamos supor que ele está segurando lusitanos um dedo, três em quatro. Ok, agora vamos dizer que você deseja buscar o revalor de força em variável individual. Ok? Então não nos reestruturamos. O jeito que você pode fazer é abençoar const. Comida é igual ao meu arranjo de zero. Então você diria, Bar
Const, que vai fazer meu dia de folga e finalmente Const. Igual ao meu dia de folga. Oh, ok. Então deixe-me apenas tirar esta variável individual para que você possa ver corretamente para nós comida, ok? E então eu vou simplesmente fixar a barra também. E o último é o jazz. Ok, então deixe-me abrir um terminal, ok? E a escola aqui para que você possa ver corretamente. Então agora vou dizer,
Senhor, Senhor, reestruturando Dodgers. Estas
eram as fechaduras anteriores,
mas como podem ver,
istonão é comida. Estas
eram as fechaduras anteriores, mas como podem ver,
isto Isto está cheio. Ok, então como você pode ver, nós temos este tolo como um bar é também, e o jazz como três. Ok, então é assim que você faria isso com Alderdice fatoração simplesmente lutando contra o valor
do usando o índice. Agora, vamos ver, como podemos reduzir esse número fora? Linhas em uso seu destrutivo. Por isso, vou entrar nisto, está bem? E aqui vou eu dizer const e vou declarar este colchetes. Então lembre-se que em jogos de objeto, a estruturação que eles estavam declarando o Talibã ajuda, mas no caso de fora da reestruturação, temos dedo do pé declarar os colchetes. Ok? E em primeiro lugar, vou para a cidade simplesmente positiva. Agora, o que eu quero fazer é que eu quero buscar o primeiro segundo e terceiro valor de índice em atribuí-los em variável individual. Então eu vou ficar aqui tão cheio. Depois vou ao bar de boatos e vou dizer jazz. Certo, então na reestruturação de objetos estava procurando por essas propriedades neste objeto. Mas no caso de Ray, o que ele vai fazer é tentar buscar o índice de acordo com o índice. Então, o primeiro ponto valioso para isso, ele escreveu em seguida, o segundo valor irá apontar para o índice forçado e o Terceiro Vale estava apontando para o segundo índice. Ok, deixe-me simplesmente dizer isso e novamente mostramos City mesmo resultado aqui também. Então, como você pode ver em relação à frente um corpo para ganhar o jazz como três. Ok, então pessoal, isso foi tudo sobre a reestruturação. Ok, Então ele permite que você basicamente reduzir o mais off line para declarar as
variáveis individuais de objetos ou matrizes. Ok, então houve. Isso foi tudo sobre a reestruturação em Espero que você foi capaz de entender em
Muito obrigado por assistir este vídeo.
6. O que é o GraphQL: Olá. Todo mundo neste livrado de você vai entender o que é gráfico em. Como se compara com o resto? E p. A. Então gráfico não é nada além de uma linguagem de consulta para o seu FBI e dá ao cliente do poder rebocar-nos exatamente o que a noite. Portanto, nenhum recusado tem mais controle sobre o mundo. Um apertado vai receber Agora Há dois grandes problemas com as meninas gráfico. Almas sobre o restive tradicional através do 1º 1 é as múltiplas viagens de ida e volta no 2º 1 é foram buscar ou sob buscar seus dados. Então vamos dar uma olhada no 1º 1 que é várias viagens de ida e volta. Então, no resto típico t p um u usado para ter vários endpoints, digamos para o usuário para a tarefa, para postar para pedidos Então você tinha vários endpoints que retorna meus dados tipple direito. Mas no caso de fora gráfico, nós apenas temos um único ponto final, por exemplo, barra enxerto vontade. Portanto, este ponto final é apenas necessário pela primeira vez para se conectar ao servidor gráfico vestido. Todas as coisas são cuidadas pelo sistema de tipo que o gráfico implementa. Então o cliente não tem mais que fazer as várias viagens de ida e volta para isso para obter meus
dados de ponta ou tipos diferentes de dados de diferentes pontos de extremidade, certo? Então vamos ah, no bebê restive tinha barra usuário e este post barra, por exemplo. Agora, digamos que a reivindicação basicamente avisa o usuário, bem como deposto. Assim, para vilifies cidade, os usuários em segundo tarde irá bater novamente servidor e obter o post relacionado ao usuário direito. Mas em caso de enxerto, como eu disse, não
há um único ponto na poeira. As coisas são ameaçadas pelo sistema de tipo relacional, usando o qual você pode obter todos os dados ou todos os dados relacionados em uma única solicitação. Então, há o desligamento bom afinal de contas, então o primeiro, basicamente permite que o cliente obtenha exatamente o que precisa. E segundo, ele reduz as múltiplas viagens de ida e volta para este sobre o que reduz o excesso de busca ou a interface. Então, apenas para o exemplo de exigência, em
primeiro lugar, você basicamente definiu esquema ou seu tipo em seu gráfico. Meninas mais e subiu podem dar uma olhada neste esquema e exatamente perguntar para o que ele próximo, certo? Então, por exemplo, se recusado, só quero o formigamento. Isso sempre vai simplesmente retornar o slogan. Se o cliente pediu contribuintes também, o metrô vai devolver os contribuintes também. Então, há o benefício de usar o combustível artesanal ou sua pia Este em. Mais uma coisa que eu gostaria de dizer a vocês sobre o gráfico. Legal é que gráfico é apenas uma especificação, então você pode encontrar esta informação especificação aqui. Ok, Em um Z, você pode ver aqui é a especificação completa sobre o gráfico e com base nisso uma especificação várias bibliotecas diferentes implementaram gráficos em várias linguagens
diferentes. E se você quiser dar uma olhada em todo o tipo de implementação, então você pode ir até aqui Então, como você pode ver para este tipo de bibliotecas, a implementação gráfica é feita em tantas linguagens. E como vamos usar o JavaScript, temos várias bibliotecas que estão implementando as especificações gráficas, como as lágrimas gráficas expressas gráficas e assim como o Apollo sóbrio, que vamos usar em nosso curso substitutas. Isso é tudo para a breve introdução no gráfico sobre Como é que ele se compara ao ponto de descanso
tradicional. E eu espero que você tenha sido capaz de entender o básico fora do gráfico e seu propósito. Onda Muito obrigado por assistir este vídeo.
7. Noções básicas de Schema GraphQL: Olá, todos. E neste vídeo vamos entender o básico do esquema gráfico. Então vamos primeiro de tudo, entender o que é esquema. Então esquema é a parte central de qualquer gráfico meninas mais e basicamente definido
operação de água pode ser realizada por declínios, tais como a mutação de consultas em Spectra. Então vamos nos alistar na água. Esses tipos e holdover definiram sua relação. Então, o primeiro e acima de tudo você tem esses tipos assassinos na nave. Legal. Estes são os tipos de construção prodded pelas pessoas enxertos sobre estes são pretendidos
barras de corda flutuante e IDD IDD é um tipo especial de tipo er habilidade que o enxerto vai usar para descontar em. Geralmente é usado com os sentimentos que são únicos. Tal Assaidi nesta idéia também é serializado como uma string. Isso significa que se você posicionar um número ou essa string no servidor, ela será tratada como uma string. Em seguida, temos as fitas de objeto, modo que o objeto contém grupo de campos onde cada sensação ou é velho dedo do pé um tipo scaler ou ele mapeia para outros tipos de objeto. Então, como você pode ver, é o exemplo, onde temos tipo de objeto é usuário, por isso tem sensação assim que eu enviaria e-mail. É, ERM em como um tipo scaler, mas onde esse endereço está apontando para outro tipo de objeto. Então é assim que você define a relação no esquema usando seus tipos. Em seguida, temos tipos de nível raiz, então isso basicamente representa o ponto de entrada no enxerto. Será um P I. Isso significa que se você quiser fazer qualquer coisa com o ácido gráfico, como buscar os dados ou atualizar o gráfico para baixo, acabou. Então a unidade não escreve com esses tipos de nível raiz. Então estes são basicamente consulta, mutação e assinatura, e nós vamos dar uma olhada neste um por um. Então vamos primeiro de tudo, dar uma olhada no tipo de consulta. Então tipo de crédito é usado para buscar os dados, e é um dedo grelhando a obter um p a. que temos intrest. Mas isto é apenas uma antologia. Isso não significa que o tipo de consulta em gráfico está fora do tipo, na verdade, normalmente oito. Em vez disso, deixe-me dizer-lhe que cada solicitação AP em gráfico é fora do tipo post extra para propor, estável, certo, então não se confunda com o tipo aceitável. É a analogia do Justin. Em seguida, temos o tempo de mutação no tipo de mutação são geralmente usados para mutação dos dados sobre isso sobre, como adicionar algo relacionando algo ou atualizar alguns fora dos dados. Então é aí que você basicamente usa o tipo de mutação. E novamente, todos os pedidos AP para a mutação será novamente fora do tipo post on, como o que temos no resto api de seu aeroporto, Post pass ou diariamente. Só temos o tipo de postagem aqui no testamento do enxerto. Nós também temos mais um tipo de nível raiz, que é assinatura. Então, a assinatura são basicamente usados para estão ouvindo eventos que são emitidos por este sobre. Então, esses formulários de assinatura são comunicação bi direcional full duplex do cliente ao sour on. Basicamente implementa o futebol da Web nos bastidores e se você está ciente com os
soquetes da Web do que é simplesmente o mesmo. Em seguida, quero dizer-lhe uma diferença muito importante entre a consulta e a mutação. Então lembre-se de que as consultas são executadas simultaneamente. Isso é mutação são executados sequencialmente. Tudo bem, então por que sua necessidade de mutação foi executada sequencialmente, não simultaneamente. Então, primeiro de tudo, vamos discutir sobre a consulta. Se a consulta for executada simultaneamente, isso não será qualquer problema no lado do servidor. Certo. Por exemplo, se você pediu simultaneamente a lista fora do usuário ou a lista fora do post ou lista fora de nós simultaneamente, isso não é um problema, obviamente. Mas se a mutação executar simultaneamente, então ele pode criar algum problema em alguns fora dos cenários. Digamos que disparou duas mutações ao mesmo tempo, e vamos supor que elas executam simultaneamente. Assim, por exemplo, a primeira mutação é o registro, e a segunda mutação é adicionar Tusk. E agora vamos supor que essa mutação de tarefa de anúncio depende do estado de autenticação do usuário. Isso significa que esta mutação só pode ser executada se o usuário estiver bloqueado. Então, se ambos fora desta mutação feito simultaneamente, então há uma possibilidade de que a segunda mutação, que está na tarefa executada antes da mutação forçada, está mesmo concluída. Então sua segunda mutação pode parecer certa, então há vários cenários fora. Este é apenas um dos exemplos em nosso uso que seu dedo do pé tomou para fazer você entender que por que a mutação executar sequencialmente e por que a consulta são executados simultaneamente. Uma vez que a mutação basicamente manipula a nossa mutação, o baixo do suicídio é muito importante o dedo do pé ter uma sequência adequada na qual os dados
estão sendo mutados. Direita o convite, geralmente executado sequencialmente em vez do gráfico. Agora você vai dar uma olhada no tipo de entrada dia. Então tipo de entrada basicamente permite que você toe exceto objeto como um argumento para consultas e mutação. Então, como ver novamente, aqui está o exemplo. O primeiro exemplo é sem ser colocado Tape. O 2º 1 é com o tipo de entrada. Agora, no primeiro exemplo, temos este criar mutação passada, que está usando no campo nome concluído no usuário. Eu sentiria como um argumento que você precisa passar o dedo do pé neste trabalho de mutação em particular. Agora vamos supor que esse argumento número fora cresce para a contagem off 15 ou 20 argumentos. Então, nesse caso, é melhor ter todo o argumento em um único objeto em vez de definir todos esses argumentos
2050 aqui. Então, para isso, você pode fazer uso do tipo de entrada, como você pode ver aqui temos dois mutação criar tarefa e abjetar-nos, que estão esperando tarefa. Entrada sobre isso é basicamente um tipo de entrada que está segurando todos os sentidos certo. Então esta mutação em particular é basicamente esperando o objeto que é definido aqui como um tipo de entrada. Agora, outra vantagem fora de definir no tipo de porta é que você pode compartilhá-lo através de múltiplas mutações como nós fizemos isso aqui sobre as múltiplas consultas também. Mas você deve compartilhar o tipo de importação com muito cuidado. Havia. Vai tornar muito difícil para o seu esquema gráfico menina, habilidade
Otto. Então, vamos considerar este exemplo em que estamos usando essa tarefa no tipo de porta essa
mutação de tarefa criar em. Estamos usando o mesmo tipo no objeto. Pergunte também. Então para eles nos criarem ou destrutivamente bem. Mas para a tarefa de atualização, não
é necessário que o usuário passe todos os três sente usuário. Minha OTAN simplesmente atualiza o nome ou os estatistas condenados. Mas tudo isso parece ser basicamente necessário na clara mutação tarefa. Certo? Então não é uma boa idéia, porque seus oponentes não vão funcionar bem. Ele só funcionará quando os usuários atualizarem ambos. Isto falhou. Então, em tais casos, você deve criar um tipo de entrada separado para ambos desta mutação em, você deve compartilhá-lo cuidadosamente através de várias consultas de mutação. Agora vamos falar sobre os tipos de assassinos da alfândega. Então, além de criar tipos de escalador, você não pode definir seu próprio tipo de escalador personalizado, o
que faremos nos próximos vídeos. Então isso é para atender às suas necessidades personalizadas. Em seguida, vamos falar sobre o tipo de interface para interface que basicamente permite que você defina o tipo
abstrato. Então, embora isso não pode ser usado diretamente em seu esquema, mas você pode usá-lo como uma base para definir seus outros tipos. Agora vamos dar uma olhada na fita do sindicato. A unidade basicamente aponta para um ou mais outros tipos de objeto, e você pode usar essa união em seu esquema, que pode retornar um ou mais tipos de objeto. Em seguida, temos a norma. fitas sobre essas são basicamente enumeração, então isso basicamente define os valores específicos de set off que você deseja permitir. Você pode ser multado a soma tipo 15 palavra-chave, como você pode ver na tela em. Em seguida, você pode usá-lo em classificar fora seu esquema como um argumento, ou deserto e valor como Reagan ver na tela. Então, o que é este mundo? Os tipos básicos skimmer gráficos que eu queria discutir com você neste vídeo. Então,
isso é tudo para este vídeo em particular. E eu espero que você tenha sido capaz de acompanhar. E muito obrigado por assistir este vídeo.
8. Visão geral da API GraphQL: Olá, todos neste rodeio. Eu só queria lhe dar uma breve informação sobre o gráfico realmente jogado que
vamos construir. Então, vamos construir o AP para gerenciar a tarefa para que o usuário possa criar tarefa. Atualizar tarefa diária dos EUA e também é listar toda a tarefa. Então, como você pode ver, nós dividimos este AP. Pedi o propósito deles. Então, temos algumas das consultas. Temos algum fora da mutação ligada. Também temos a assinatura. Então, estes são os a p A que vamos construir como cada aplicativo requer a autenticação e alteração, então irá implementar o registro em log. E este é um A p i onda. Vamos proteger o outro reembolso, como Tusk Update US Daily Task e também testar ideias da lista Casbah. Onde está a variedade de usuários? Assim, apenas o usuário conectado ou o usuário autenticado pode acessar este Ap A's e também cada aplicativo precisa da detonação também. Então vamos implementar uma paginação na lista de tarefas AP I e vamos implementar apresentações
diferentes. Crédito é como fora de determinado limite paginação como serviço de carro balístico paginação, e vamos compará-los em profundidade nos vídeos oponentes em. Nós vamos implementar o mais desempenho um, e nós também vamos implementar a assinatura, bem como, que vai configurar uma comunicação em tempo real entre recusado no servidor e
assim que o senso de usuário do clã será notificado com os detalhes do usuário que acabou de se inscrever. Além disso, também verá como você pode otimizar seu servidor gráfico para que você possa retornar resultados mais rápidos do clank. Então, irá implementar biblioteca, como as fronteiras, que permite que você implemente rebatidas e descontar para o seu dia Texas camada e ao longo do caminho você está indo para aprender vários conceitos da vontade enxerto. E no geral, você vai cobri-lo em todos os cantos, que vai fazer você se sentir confiante com o gráfico que você vai e você pessoal. Isso é tudo para a breve informação sobre a maneira que vamos obedecer e eu vou vê-lo no meu próximo vídeo
9. Configurando o GraphQL Server: Olá, todos no assunto. Realmente? Se você está indo para configurar o servidor Apollo gráfico Então a primeira coisa que eu
sempre iria criar ou diretório aqui chamado como gráfico você vai encontrar Apollo? Oi, amigo. Talvez eu esteja dentro disso. Primeiro,
inicializarei o pacote de Georgeson arquivado usando o NPM, não é? Comando ligado. Vou usar o hífen por bandeira para definir os padrões. Tudo bem. E agora eu vou simplesmente instalar alguns pacotes como o Express também vai
instalar o Apollo Server iPhone Express Liberty, que é uma celebridade middleware para o framework express. Em seguida, Também vai instalar os pacotes de curso para manipulação cruz ou está na busca Onda Também indo dedo do pé tem o pacote de inveja filha para o inferno mulher indiana. Muito bem. Então vai simplesmente bater. Entrar em. Voltarei para você assim que estiver feito. Então, como você pode ver, a instalação está feita. Agora, eu vou simplesmente abrir o tribunal no cabo bs. A primeira coisa que eu vou aqui é criar fora de petróleo chamado nós ou nossa porta, Jess, onde vamos configurar nosso servidor. E em vez dos pacotes e arquivos, especificarei o arquivo principal como de Sarwar George. Em vez disso fora o índice padrão Georges, que foi criado porque usamos o padrão para uma perda ao inicializar o
arquivo Pakis Dodgson usando a bandeira esposa hífen. Então a primeira coisa que vou fazer aqui é exigir o expresso. Então também vou precisar do Apollo Sarwer do Expresso Apollo Sarwar. Basicamente, esta é a estruturação para obter o possível a partir daqui, então eu também vou exigir o curso para lidar com a cruz ou está na busca. Andi, também
vou exigir a inveja de pontos para lidar com a variável de ambiente. Então aqui, indo simplesmente dizer, exigir Doherty e ficar bem agora, a primeira coisa que eu vou fazer é rebocar as variáveis de ambiente. Então aqui, vou simplesmente dizer, Dottie inveja, não conflito. Saiba o que isso vai fazer é ponto em que nós não condenamos vamos basicamente procurar por nossa filha e nós arquivamos em seus projetos rodoviários. Então vamos criá-lo aqui porta PNV, e ele vai pegar todas as variáveis. Defender aqui sobre ele vai colocar tudo em espécie de processo sujo. E nós pensamos nessa variável em particular. Certo, então aqui, primeiro lugar, vou definir o nosso momento. Variável chamou o esporte, e eu decidi 3001. Certo, então essa é a configuração das mulheres disponíveis. Agora vamos configurar a janela de apso expresso. Basta dizer, const tap é igual a express. E eu também vou montar as partes do corpo do meio. Bem, então aqui vou dizer middleware. Eu vou simplesmente dizer não use Este é middleware Uplevel Onda mãos usando o
método de uso na instância aplicativo. Então aqui, quando o Simples Express Dark Jason Tudo bem. Não, você basicamente cria a porta que usaremos Inserir fora do sequestro. Ouça, importava começar esta erva neste porto em particular. Então aqui, indo para o festival Fetchit do meio ambiente. Variável em Se a porta não é divertido em espécie de ambiente. Muito bem. Vai fazer-te sofrer o porto completo chamou-nos 3000. Ok, em uma espécie de variável de ambiente. Temos 2001 e aqui vamos para algum lugar sequestrado. Ouça em ir passar deport na função callback vai simplesmente dizer console, não faça logon aqui. Vou simplesmente dizer, senhor estava ouvindo a bordo para especificar deportação aqui. Então aqui, quadro implícito
do Windows. Tudo bem em. Lembre-se que eu estou usando a parte de trás assume aqui. Estas não são apenas cordas normais. Estas são tomadas de volta. Certo, então acho que estamos prontos para fazer os testes. A parte vai criar uma parte rota que é barra em Dhere indo dedo do pé para salvar o objeto de
resposta do pedido e a próxima função dentro da chamada de volta e aqui vai simplesmente disse resposta, começar a dizer e vai enviar o mensagem como Olá, Tudo bem, líderes
SOFA parece bom em Vamos para o terminal em Vamos começar dezembro Então aqui L simplicidade Nord disse Ward RJ. Então, contra suas vendas que estavam ouvindo na porta 3001 vamos deportar 3001 e vamos ver, o que conseguimos? Como podem ver, se perceberem que as mensagens foram analisadas, o que vou fazer é configurar o script do NPM para recomeçar isto no corredor. Também configurar uma biblioteca chamada como Norman para que eu não tenha que reiniciar isso ou o que novamente, se eu fizer alguma alteração. Tudo bem. Então, por exemplo, se eu disser olá, Oi, então as mudanças não são refletidas no Flay. Então o que eu tenho que fazer é o nosso saque começar esta estrada de novo e de novo para ver essas mudanças, como você pode ver. Então vou montar uma biblioteca chamada de Norman para que não tenhamos que começar de novo. Então deixe-me simplesmente fazer isso. Então, aqui, como uma instalação alta Fundy para sua dependência e eu vou especificar não fez um pacote. Então, como você pode ver, a instalação está feita. Então aqui no pacote de ações. Jason, vou criar um roteiro. Então, primeiro de tudo, você cria este script de início aqui, indo simplesmente dizer, Nord server Georges, que você normalmente usará proteção mais, mas mais desenvolvimento do que ir para implicam outro script. Corliss, Morte aqui. Indo para a simplicidade, disse
Norman, eram dias sombrios. Tudo bem agora, o que você pode fazer é simplesmente dizer e b m abaixo para começar isso basicamente fazendo aquele script
idiota e tudo vai funcionar para ele agora mesmo, se você fizer alguma mudança que essas serão refletidas na mosca você não precisa. Eles começam isso de novo e de novo. Tudo bem agora, antes de configurar o Apollo, eu também gostaria de configurar o Deus no nosso aplicativo porque já que estamos construindo o E
P A , e você pode ser acessado por vários domínios, então precisamos configurar os carros porque há como a política do navegador funciona. Caso contrário, se você não tiver o curso habilitado em seu rapier, e se vários domínios estiverem acessando seu Abia, então você pode obter o erro de origem cruzada que você costuma obter no navegador. Então vamos habilitar o curso. Então aqui, indo simplesmente habilitar o curso por isso vou dizer, eu tenho uso e tudo que você tem a fazer é simplesmente parte do curso como um middleware aqui . Tudo bem, então é isso. Agora vamos montar a Apollo Sorour Middlebury. Então o que eu vou fazer é aqui simplesmente dizer, Const. Apollo Sorrow vai criar uma nova instância fora do Apollo sóbrio. Agora, insira isso, você pode analisar vídeos, conflagração, mas como fora Não, eu vou passar a definição de tipo deles, e eu também vou passar. É tudo pior. Em vez de sua definição de tipo, você basicamente definiu o esquema usando este jogo ou linguagem de definição. E em vez do resultado, você
definiria como você basicamente obtém seus dados para seu esquema particular? Então, para definir o esquema, eu vou fazer uso fora do poço Deka do Apollo Silver Express, que é chamado de tack temporariamente total para definir a linguagem de definição skimmer dentro desta string. Então, aqui, indo para algum lugar que as mortes do tipo const sejam iguais ao ridículo, então você espaço onde os ticks traseiros e, em espécie, você basicamente definiu o esquema. Tudo bem, para o resultado seria eu vou simplesmente como fora nenhum objeto estático para vazio. Certo? Então deixe-me ver se isso agora, o que eu vou fazer é aqui. Vou montar a Apollo vários do meio caminho. Então aqui, vou simplesmente dizer, Apollo, senhor, onde ponto Aplicar middleware em. Em vez disso, eu vou passar a instância do aplicativo expresso e, em seguida, você pode passar a parte em que você deseja fazer o seu ofício. Garotas são trabalho para ouvir o dedo do pé aqui. Vou especificar o departamento dos EUA, mas pode dar o nome que quiser nele. Por último, basicamente, adicione outra mensagem de log do console para o gráfico no ponto. Então, se você está indo para algum lugar um gráfico, você vai terminar ponto em ir para obter a parte gráfica do servidor Apollo. Parte gráfica escura. É isso. Então eu acho que nossos conservadores gráficos configurados na única coisa que resta é toe são definidos o tipo de crédito de rota, porque se você não defini-lo do que o Sarwer gráfico vai jogar nele não será executado. Então, como você pode ver sob a comunidade primavera verão, então aqui, indo dedo definido a estrada muito tipo. Então, quando eu disse consulta tipo dentro fora disso, eu vou apenas definir um único campo chamado como saudações sobre este simplesmente fez na string. Então vou cuspir esse tipo de string scaler aqui. Então deixe-me dizer que esta escola grande, mas eles são terríveis. Como você pode ver, este hardware começou no gráfico e ponto é corte mundo enxerto, Então vamos para o navegador. O fresco como você pode ver aqui temos a mensagem básica da estrada expressa. E se eu ir para a barra gráfica escreveu onde nosso ofício alimenta nosso Deus está ouvindo,
então, como você pode ver, somos apresentados com o playground gráfico. É uma ferramenta para testes. Declare a Líbia. Então aqui você contesta tudo. Sua mutação de consulta também é a assinatura em Nós vamos ter um breve ou visão sobre esta ferramenta específica no próximo vídeo. Mas como fora agora, vez que acabamos de escrever uma única consulta, que é ralar, deixe-me apenas tentar mostrar-lhe Como ele se parece e como basicamente equidade em vez
do gráfico Cool playground. Então, para a estola, você tem que espaço onde o nome da operação que você está realizando para que possa ser assinatura
bastante motivacional. Então vai especificar a consulta aqui? Então eu disse o nome do crédito, que está criando, e se você simplesmente clicar no display Burton, então você vai obter a resposta do servidor Agora, uma vez que a arte está sempre vazia está fora agora porque nós não escrevemos qualquer lógica para resolver esta consulta
específica mãos que estamos recebendo agora, mas vamos caminhar sobre as consultas e resultado ou mais nos próximos vídeos. Mas neste vídeo, eu só queria fazer eu configurar com o Apollo, disse palavra sobre. É isso para este vídeo em particular, e eu espero que você tenha sido capaz de acompanhar e muito obrigado por assistir este vídeo.
10. Visão geral de Playground do GraphQL: Olá, todos neste mundo de vocês vão ter que olhar para o gráfico. Você vai playground visão geral Então, basicamente, é uma ferramenta para testar seus MPs aqui. Você basicamente escreve consultas aqui. Você vai ter a sobremesa que está assinada por isso sobre. Agora aqui em sua opção cães, você vai ver estes esquema gráfico auto-documentado. Então, se você basicamente condicionar ele vai exatamente dizer que tipo fora. O que é que você pode realizar no oponente faz. Vamos adicionar a mutação e a assinatura. Então eu amo esses aparecerão aqui junto com o tipo de dados que eles estão esperando sobre o que eu que tipo de dados eles vão escrever. Tudo é auto-documentado aqui com base neste esquema que definimos no gráfico usando seus tipos para que você possa encontrar todas as informações sobre o seu gráfico realmente pagar Mais aqui, qualquer um pode ter um olhar como o que são os campos disponíveis? Quais são os Curries disponíveis? O que são as mutações também é a assinatura e, consequentemente, eles podem levar o gráfico ap A Tudo certo sobre. Se você basicamente ir para desertar do que aqui, você pode fazer um monte de configurações, como definir tamanho estranho deformado em Spectra. Mas uma coisa importante aqui é a sondagem de esquema. Então, o que é um esquema? terrível Will vai tentar acertar o seu Sarwer a cada dois segundos. Então, o que quer que você definiu aqui vai doer a cada dois segundos e vai atualizar automaticamente o esquema aqui. Você tem o novo debate sobre você pode até ver isso eu posso aqui, que é apitando como você pode ver. Então ele está dizendo esquema de sondagem. Isso significa que a cada dois segundos ele está tentando ferir este prêmio em Deixe-me mostrar-lhe, indo colocar uma conta de cozinheiro. Então, como você pode ver a cada dois segundos, esta solicitação está sendo atingida com o servidor para obter o esquema mais recente. Mas eu pessoalmente gosto de desativá-lo. Então o que você pode fazer é se você não quiser esse comportamento, então você pode ir para as configurações em Dhere neste esquema estão puxando, não habilitar você pode configurá-lo para quedas. Tudo bem, então aqui estão basicamente o segundo dedo do pé cai. Isso é tudo que você precisa para clicar em Salvar configuração e é isso. Não, se eu basicamente ir para a noite caminhou até a residência Agora não há ah freqüente um hit que o playground gráfico está realizando em. Esse apito Aiken também está indo agora, você também tem a opção de criar várias vezes aqui para que você possa obter quantas
vezes quiser. Você pode basicamente agrupar vários e p s. Eles precisam de passos para que você tenha segregação provável para degustação muito fora de um PS completamente em. Mas você também tem essa opção nos chamou de prettify. Então, por exemplo, se você quer toe ah, estrutura ou intenção sua consulta corretamente ou a mutação. Então, por exemplo, se minha entonação estiver errada, eu posso simplesmente clicar neste prettify Burton, e ele irá corretamente intencionar meu crédito. Você também pode clicar neste botão histórico para que você vai obter todos os tipos fora de um p a que você executou em. Você pode acessar qualquer fora deles. Por exemplo, se eu clicar sobre isso e eu posso simplesmente dizer uso e ele vai basicamente usá-lo direito em, ele tem basicamente abrir novo tipo para o que particular a p a on. Se você tem um olhar para o canto inferior esquerdo,
então, como você pode ver, você pode dizer que o tippy extra nos ouviu aqui em. Você também pode dizer que as variáveis de consulta aqui. Então nós vamos ver isso nos próximos vídeos quando nós realmente criar daiquiris ou a mutação onde nós precisamos para lado as variáveis ou o esperado decapitar-nos assim. Mas só queria dar-lhe uma breve informação sobre o mesmo sobre vocês. Isso é tudo para este vídeo em particular, eu espero que você tenha sido capaz de seguir em frente. Muito obrigado por assistir este vídeo.
11. Resoluções de GraphQL e modificador de tipo: Olá, todos neste vídeo, vamos dar uma olhada no seu é todas as palavras sobre o tipo Modificador diz. Bem, então vamos primeiro de tudo, dar uma olhada no resultado guerras. Então está desligado agora. Estamos recebendo não para este Kredi em particular porque ainda não definimos que acabou. Então vamos fazer isso agora. Então eu vou basicamente para a base do tribunal e aqui, primeiro de tudo, você tem que definir o tipo avançado que você está escrevendo. O resultado foi Então estamos escrevendo este fork pronto, então você tem que definir exatamente a consulta aqui. Então você tem que especificar o nome equerry. Então, na preocupação artística, o
nome é Saudações. Esta vai ser uma função que vai retornar algo em que será enviado para
a reivindicação. E é. Toda a ordem salva um monte de argumentos, que vamos ver nos próximos vídeos. Mas a partir de agora, eu só queria mostrar como é, embora funcione. Então aqui eu vou simplesmente retornar uma string. Olá de Korda. Deixe-me ver se isso vamos para o navegador e se eu apertar,
entrar agora, então, como você pode ver o olá é basicamente devolvido, certo? Assim, suas guerras de resultados são responsáveis por fornecer os dados para sua rapidinha e mutação. Agora vamos entender o que nosso modificador de tipo, Então um fora do modificador de tipo é nominal em. Você vai usar isso com bastante frequência, então ele é diluído com ponto de exclamação, e basicamente define se esse tipo em particular pode ser não ou não. Então deixem-me mostrar-vos pelo exemplo. Então vamos para o estado inicial onde não estávamos tendo nenhum tipo de trabalho de resultado. Para os cumprimentos, Vamos para o navegador pressione enter. Então, como podem ver, as grandes coisas são que voltaram como não. Mas se você quiser especificar que a grade pode nunca ser não sobre isso, obra de arte nunca retornará valor de negação para as saudações. O que você pode fazer é adicionar um modificador de tipo aqui chamado não está disponível. Então, se você tivesse este não um modificador de tipo de nível agora, se eu ir para o navegador e bater, então como você pode ver o gráfico, vamos começar onde a validação irá lançar este erro e a mensagem é, não pode retornar tudo para não um nível campo. Muito escuro. Saudações. Então é assim que basicamente você pode usar os modificadores em você pode usar mais um modificado, que é toe definir nosso tipo como uma lista fora de itens. Então, por exemplo, se eu basicamente defini como este adicionando o colchete, isso significa que este tipo particular está fora da lista sobre o que eu posso fazer está aqui no resultado onde eu posso retornar a lista de itens como um baixo dentro da lista. Então deixe-me ver isso. Vamos para o navegador. E se eu acertar isso agora, então, como você pode ver dentro da teoria, nós temos isso. Olá em. Deixe-me adicionar mais itens aqui. Tudo bem, deixe-me ir para o navegador simplesmente aperte isso. Como você pode ver, temos vários itens aqui em você pode adicionar o modificador, que é modificador não-chamável dentro do modificador de lista também. Então, por exemplo, aqui também, eu posso dizer não um modificador de nível. Então, se eu tentei toe escrito qualquer item nulo, então ele vai para o outro. Porque aqui o que estamos vendo não é apenas a lista será nominal, mas todo o item inserido fora Esta lista também é nível nominal. Então vamos para o navegador. Se eu bater isso,
então, contra oito sementes não pode adicional para conhecido campo arável Corredor Cumprimentos. E se eu remover este nulo livre daqui, guarde isto. Ir para o navegador hit Enter o próximo concerto funciona bem em Se eu basicamente remover este nulo da lista e salvar isso em se eu basicamente fiz no Nilo a partir daqui em ver isso novamente, então ele está indo trabalho dedo do pé. Tudo bem. Porque o que dissemos é que a lista pode ser nula, mas cada item inserido dessa lista em particular não pode ser não. Então é assim que você pode fazê-lo fora do modificador de tipo de nível normal, toe definido como seu tipo basicamente se comporta. Assim é. Isso é tudo para estas todas as palavras e o modificador de tipo em. Espero que você tenha sido capaz de acompanhar e muito obrigado por assistir este vídeo
12. Schema/TypeDefs de usuário e usuário e Tarefas: Olá, todos. Então, antes de defender daiquiris e mutação para o usuário e a tarefa vamos primeiro antes definir os tipos de objeto para a tarefa e o usuário. Precisamos definir o tipo de objeto porque o usuário na Tarefa na Noruega scaler três usuário
terá um objeto muito mais complexo, então precisamos definir o tipo para o mesmo. Assim, a própria relação funcionará entre o usuário e a tarefa é que os usuários terão um ou mais teste. Há uma tarefa será associar toe um único usuário para que o usuário terá um a muitos relacionamento com a tarefa. Mas a tarefa terá muitos a um relacionamento com o usuário. Então agora vou declarar o tipo de objeto para o usuário. Então vou dizer tipo de usuário sobre ele vai ter sentir tal Assaidi, que será fora tipo idéias tipo assassino e será nominal. Em seguida, nós também pode ter o nome para o usuário que será off tripe não-chamável string em. Também teremos o e-mail associado ao usuário novamente. Ele será off string não-chamável e afirmou que o usuário pode ter uma ou mais tarefa. Então, aqui vamos ter a tarefa falhou no tipo de objeto de usuário, que irá apontar para um ou mais objeto de tarefa. Então aqui eu posso ter a tarefa não-chamável inserir fora da lista. Mas a lista em si pode ser não, porque há uma chance justa de que o usuário não tem nenhuma tarefa associada. Mas se o fizer então segurado nem Minal. Então é isso que esta coisa em particular representa. Em seguida, alegado declarou a tarefa também. Então, aqui, indo simplesmente declarar tipo de objeto para sua tarefa terá novamente o i D sentiu, que será fora do tipo scaler. Ele também terá o nome da tarefa eso indo simplesmente na string de nível não. Em seguida, também terá uma variável booleana tarefa mais longa, que é chamado US Concluído em novamente, ele será fora tipo não rótulos barras e como uma tarefa triste, tem muitos a um relacionamento com o usuário. Então isso significa que qualquer tarefa só pode ter um usuário associado a ela. Então, aqui estão declarados o usuário sobre isso será fora do tipo usuário. Eu não estou colocando isso como nossa lista porque, como eu disse, é muitos para um relacionamento em. Isso também não é um nível. Então eu acho que nosso esquema está pronto no próximo vídeo, nós estamos indo toe criar daiquiris e há tudo pior usando que o cliente pode obter dados relacionados com o usuário e a tarefa. Então eu espero que você seja capaz de acompanhar este vídeo em particular. E muito obrigado por assistir este vídeo.
13. Resolve de consultas em lista de tarefas: Olá, todo mundo. Então, neste vídeo você está indo para implementar a consulta de tarefas lista para que os usuários possam basicamente
pedir a lista fora de nós. Mas antes de tudo, precisamos ter os dados. Então está desligado. Não, vou usar o Dominador mais tarde. No final da linha, vamos substituir o imitador deles pelo banco de dados Mongo DB. Então aqui, primeiro lugar, vou criar um cartão de pasta como constante em. Em vez disso, eu vou ter um arquivo chamado US Index Toches em apenas para sua demonstração. Eu preparei a lista fora da tarefa e a lista de usuários, como você pode ver aqui. Assim, para a lista fora da tarefa que falharam, como o nome da idéia concluído status de barras no uso pronto em. Temos a lista fora de usuários onde temos sentir tal nome Assaidi e e-mail nele. A tarefa tem um usuário. Eu me associei a ele. Então ele basicamente aponta a qual usuário as estrelas que pertence. Então vamos usar esses dados fictícios para criar a lista de tarefas. Preocupar-se Então vamos a isto. Nosso xadrez de porta aqui. Eu vou adicionar outro cartão de crédito como poeira sobre isso será fora lista tipo off tarefa em cada item em espécie da lista será conhecido um nível. Então eu trouxe o mortificado até aqui sobre isso parece bom. Podemos obter toda a tarefa não tem, isso não é um problema porque há uma possibilidade em uma chance justa de que o usuário não tem qualquer tarefa associada a ele. Então, nesse caso, retornaremos. Caso contrário, todos retornarão a tarefa que está associada ao usuário. Então agora nós temos este esquimó definido Vamos definir. É também para o mesmo. Então aqui no pau, pronto, eu vou cavalgar. É sempre assim aqui são basicamente definidos o nome off Dick pronto para o qual eu quero escrever o trabalho resultado sobre ele vai começar a função como off Agora eu vou simplesmente ele em sua tarefa em eu vou começar isso começa a partir da constante. Então aqui, indo simplesmente dizer const on gostaria de exigi-lo da pasta Restrições para que eu possa obtê-lo a partir das constantes. Então ele realmente basicamente diz, faz. Como você pode ver, esta tarefa estará disponível aqui e voltará para a clínica. Então vamos testá-lo agora. Deixe-me ver isso. Vamos para o navegador e eles estão frescos. Primeiro de tudo, você vai ver que por sua vez os cães Agora nós temos a Nova Coreia. Fiz o que é tarefa. E se você clicar sobre isso do que você vai ver exatamente prêmios a estrutura para sua tarefa em quais são os sentimentos que você pode esperar desta obra de arte para escrito? Então, aqui está o que eu faço é em vez de saudações, Eu gostaria de agora acertar a tarefa Pronto. Então o que eu vou fazer é que você pode basicamente também pressionar o espaço controlado para que ele lhe dê sugestões como crédito de água que você pode acionar. Então você gosta de acionar a tarefa. E, em seguida, você tem que especificar os campos que você deseja a partir deste sobre. Digamos que queremos o
I.D. I.D. também
queremos o nome. Nós também queremos o concluído. Então, se eu bater, entre então. Como você pode ver, tudo isso está basicamente escrito nele. Por exemplo, se eu não precisar desse status concluído, eu posso simplesmente remover isso ao pressionar enter. Então, como você pode ver isso, eu só tenho volta para sentir a idéia no nome. Então, quaisquer dados lá para escrito a partir do gráfico guerra resultado exatamente escolher faz sentir que você definiu inserir fora do seu tipo. Então aqui a partir das constantes estamos retornando os campos como o nome da idéia concluída para que o gráfico irá automaticamente pegar este campo no campo, retorná-lo para declinar. Se você enviar quaisquer taxas extras do que rascunho, não
vai entreter aqueles sentir porque aqueles não estão sendo encontrar este esquema. Então você só pode trabalhar com aqueles comprimidos que estão definindo o esquema fora, não importa o que há sempre retorna. Agora, se você está se perguntando, como podemos acertar os detalhes do usuário? Porque no esquema de definimos que para qualquer tarefa, pode
haver um usuário que está associado a ele. Mas, a partir de agora, associamos o usuário. Faça outro tipo de objeto de seu contém I D nome de e-mail na tarefa. Então, a maneira como você pode obter as informações do usuário sobre o objeto de tarefa é simplesmente especificando a sensação
do usuário aqui. Então você também tem que especificar o campo que você deseja do usuário, então novamente aqui. Além disso, se você colocar o controle, insira as redes novamente. Veja, estes são difíceis disponíveis no tipo de usuário. Então temos um e-mail com o nome D. Então você pode basicamente pedir o nome no e-mail agora. Se você tiver uma olhada nos dados corretamente, então não temos as informações do usuário sobre o objeto de tarefa. A informação do usuário está decidindo de alguma outra forma no caso fora do banco de dados, será em algumas outras entidades, certo? Então, o que acabamos de armazenar aqui é a ideia do usuário em si. Mas o que estamos criando aqui é a ideia. Também nome também e-mail. Mas aqueles não são presidentes aqui. Portanto, não há nenhuma maneira que o gráfico irá confessar os dados desta guerra resultado porque tudo que estamos retornando ao gráfico UAL é o nome i d concluído e o usuário pronto. Mas em vez do esquema de seu permitir que o usuário busque todos os campos relacionados ao tipo de objeto do usuário, que é um tipo de objeto separado, Então, nesse caso, o que você pode fazer é você pode obter o usuário informação aqui em si. Andi, você pode basicamente fornecer o objeto na forma de, por exemplo, como eu para mostrar-lhe Então Atualmente estamos fornecendo o objeto como este no trabalho resultado. Isto é o que estamos devolvendo. Está bem, deixa-me mostrar-te. Mas em vez disso, o que você pode fazer é que você pode tratar em outro objeto como este, e então você pode ter ah, campos de informações
do usuário, como nome no e-mail e assim por diante. Então, desta forma são os gráficos. Então, o que saberá quais informações dar de volta ao usuário. Mas esta não é uma solução eficiente porque o usuário do partido nem sequer pede a sensação do usuário . O que ele vai fazer é que você vai acabar lutando a explicação Formacion de outra entidade. Certo? Então essa é uma informação extra que você está recebendo que nem é necessária. Então, como você pode superar essa situação? Você pode simplesmente trabalhar nesta situação escrevendo guerra de resultado de nível diferente que
vamos ver no próximo vídeo. Então eu vou remover este comentário sobre nós estamos indo para escrever o trabalho resultado de nível livre
no próximo vídeo sobre esse resultado de campo foram só vai ser executado, em seguida, o usuário preenchido ou tipo de
usuário é solicitado pelo usuário. Caso contrário, não vai funcionar. Portanto, não vamos buscar mais informações de várias entidades. Nós só vamos buscar aqueles que para cima. É exigido pelo usuário. Ondas desliguem agora. Se eu acertar isso, então é claro que ele vai ter outro porque nós não estamos retornando as
informações de lazer , certo, Porque não há passado ou usuário associado nós sempre fingindo que é o usuário i d assim essencialmente o usuário para ouvir. Tudo bem, então no próximo vídeo, nós vamos lidar com os resultados de nível livre em que é isso para este vídeo em particular. Espero que você tenha sido capaz de acompanhar e muito obrigado por assistir este vídeo.
14. Resolver de nível de campo: Olá, todo mundo. Então, neste vídeo, vamos escrever os resultados de nível de campo para o usuário para que possamos obter as informações aqui na tarefa. Muito. Então vamos fazer isso agora. Então vamos ao tribunal. Pesa exatamente como você definiu as guerras de resultado para o Kredi em vez do objeto de consulta, se você quiser. Oh, certo. Há uma palavra para um campo. Você tem que especificá-lo. Insira o tipo de objeto no qual este presente. Então, já que estamos desistindo, a tarefa está cancelada. Agora, sobre o usuário este presidente em vez da tarefa tipo Ártico. Então aqui eu vou especificar o tipo de objeto de tarefa em. Dentro disso, especificarei o campo para o qual eu quero resultar ou valor. Então queremos resultar para o usuário. Então deixe-me especificá-lo aqui e o resultado do nível de campo, mas também tem o mesmo argumento que todos os outros é sempre assim que ele vai. Não, não discutimos sobre quais são os argumentos? Eles não estão disponíveis dentro das guerras resultantes. Então deixa-me mostrar-te. Então, como você pode ver na tela, existem basicamente quatro argumentos que eles não estão disponíveis em uma espécie de, o resultado funcionará. O 1º 1 é chamado de rota dos EUA ou um pai nele basicamente contém o deserto do resultado
anterior preenchido. A próxima é a arte sobre ele contém os argumentos. Objeto. Então ele basicamente mantém todo o campo de argumento que você passou para a consulta ou mutação em. Será que isso disponível em uma espécie de resultado iria funcionar. Próximo. Temos o contexto. Eso Vamos aprender sobre o conceito de contexto nos próximos vídeos. Mas apenas para que você saiba que o contexto é apenas um objeto que é compartilhado por todas as guerras
resultado, para que você possa compartilhar informações como a arte estado nossas ordens digitais em. Vamos entender quais são os pedidos da DHL nos próximos vídeos para que você possa compartilhar todas
as informações que você normalmente precisa em vários é sempre para que você possa fazê-lo usando o contexto e a última é o resultado. Warren, por objeto sobre ele, contém a informação como, quais são os campos que estão sendo criados pelos cegos? Então vocês, estes são os quatro argumentos que eles não estão disponíveis em vez do resultado ou função, e eu vou usar o argumento pai está desligado agora. Então, indo para especificar diferente aqui neste objeto pai basicamente manterá o valor do resultado para o campo anterior ou a falha pai. Então, para uma sensação diferente. Para um usuário que você definiu aqui é o próprio objeto de tarefa. Então, o que este objeto pai irá conter é o objeto de tarefa individual. Então agora o que você pode fazer é pegar o uso pronto a partir desse objeto e pegar as
informações do usuário dos usuários no retorno. O objeto de usuário para que o cliente possa visualizá-lo. Então deixe-me mostrar-lhe como é feito o seu. Então, aqui, indo para primeiro de tudo exigir a constante do usuário. Então você vai simplesmente dizer, usuários aqui. O que mais simplesmente fazer é dizer que os usuários não estão bem novamente. Eu basicamente obter usuário individual em 80 tradição, e eu só quero escrever esse usuário cuja idéia é equivalente ao ponto pai uso pronto Agora. Espero que isso faça sentido no que você pode fazer é torná-lo ainda mais curto. Você pode reestruturar o uso pronto a partir do objeto pai para que você possa ser estruturado assim e você pode usar este uso já aqui. Então deixe-me ver isso. Vamos para o navegador e ver que resultados obtemos. Então, se eu acertar isso agora,
então, como você pode ver, eu sou capaz de obter a informação do usuário. Se eu basicamente pedi o nome, eu posso obter o nome de usuário é bem, e se eu pedir o e-mail, então eu vou pegar os malaios. Bem, então é assim que você pode escrever o trabalho de resultado de nível de campo. Agora, há algumas das coisas que eu quero falar. Diferentes resultados de nível, tais como a sua execução de ordem fora sobre como o gráfico priorizou o resultado de nível livre trabalho ou o crédito é sempre, então deixe-me mostrar-lhe. Então, só para explicar, esta despesa fora de execução primeiro, o que eu vou fazer é simplesmente adicionar um log de console aqui em indo para especificar a tarefa aqui em ir simplesmente classificar em sua tarefa. E também li um diário do Dickens aqui também. Então deixe-me simplesmente retornar essa coisa em Dhere indo simplesmente tinha o log do console como simplesmente usuário, eu d em ir para imprimir o uso. Pronto. Então agora você provavelmente pode ver que seqüência interna as armas resultado da consulta em comparação com
os resultados de nível de campo. Então deixe-me ver se este é o criminoso aqui. Deixe-me apenas aqui,
este FBI, este FBI, e vamos ver os resultados das palavras que você tem, então, como você pode ver, o bloqueio de força que temos é para a lista de tarefas. Basicamente. Então isto é o que temos impresso aqui. Isso significa que a África não passará para um nível diferente. Dissolver palavra até e a menos que os dados estão disponíveis a partir do resultado da consulta, seria próxima palavra gráfica basicamente fazer é que basicamente leva cada item e verificações . Se há uma guerra resultado nível de medo que este presidente ali, se eles sentem resultado de nível o que é encontrado, então ele vai substituir o item existente. Os diferentes níveis é sempre assim. Isto significa que a guerra resultado de nível livre é dada maior prioridade do que o resultado real do crédito é sempre assim deixe-me assegurar-lhe pelo exemplo,
Então, atualmente, estamos recebendo o nome da tarefa como trabalho. Então vamos fazer as compras. Então vamos para o ginásio. Então este é o interrogador que está sendo devolvido pela guerra toda em si. Nós não temos qualquer tipo de resultado de nível livre foram para o nome da tarefa, certo? Mas deixe-me adicioná-lo aqui. Então vai simplesmente adicionar o nome aqui em ir simplesmente retornar um nome estático para o sobrenome? Basicamente. Então, aqui eu vou simplesmente dizer tarefa de teste. Então deixe-me ver se este não se eu ouvir o A b eu vou ver o que acontece então. Como você pode ver, para cada tarefa o nome é teste, peça o primeiro. Também segundo, também para o terceiro item, e para o quarto item também. E se você tiver um olhar para o console, então há tudo sobre realmente retornou sobrenome diferente. Mas desde que o gráfico olha para cada nível de campo resultado guerra, ele basicamente encontrou todos mortos. Ok, então o nome tem uma guerra de resultados de nível livre. Então ele vai agarrar isso e ele está indo dedo sobre o valor que está sendo retornado
pelo onde ele está sempre. Espero que agora faça sentido. Então nós basicamente aprendemos duas coisas aqui para Sun é esta despesa fora de execução entre o resolvedor de consultas qual é o campo nível resort? Bem, e a segunda coisa que aprendemos é que a palavra de resultado de nível livre é dada maior prioridade em comparação com os resultados de nível de consulta. Então, eu espero que isso faça sentido em eu vou remover este nome nível livre. Há sempre fora agora. Eu não vou usá-lo. Então, indo simplesmente dizer sobre estes, vamos para o navegador pressione Enter então. Como você pode ver, funciona bem. Agora. Se eu basicamente remover este campo de usuário, você verá que este resultado de nível livre guerra não será sequer executado. Então não vamos esquecer os dados extras de outras entidades coleta ou talvez alguma
fonte de dados estáticos , assim como estamos tendo. Então, apenas para aqueles Sekoff mostrando que você deixe-me dizer isso para o tempo para que
os logs anteriores foram embora e agora temos simplesmente prato para cancelar logs. Então, agora, se eu basicamente remover este campo e se eu apertar enter, então vamos para o console. Então, como você pode ver agora, nós só obtemos os registros do crédito é todo trabalho, que é por aqui. Não recebemos nenhum registro da guerra de resultado de nível livre. Porque nós nem sequer pedimos por este campo aqui no próprio crédito. Espero que isso faça sentido para você. Ah, Agora eu espero que você é capaz de entender o nível de campo guerra resultado e seu propósito em Muito
obrigado por assistir este vídeo.
15. Obtenha o Tarefa por ID Query: Olá, todo mundo. Então, agora nós definimos a lista fora consulta tarefa. Agora vamos defender outro usuário vestindo carreira. Pode gordura ah, tarefa
particular com a ajuda de I D. Então eu basicamente ir para a base do tribunal aqui, indo dedo do pé, declarar outra consulta chamada nós tarefa. E aqui, eu suspeito, se
recusou a enviar as idéias e argumentos para este Kredi. Então é assim que você pode ser multado. O argumento sobre o nome do argumento é I D nele é fora do tipo I D, e eu vou mantê-lo como não-chamável sobre ele vai retornar uma única tarefa. Então vamos definir o resultado foram para o mesmo. Então, aqui vou eu basicamente. Estamos aqui no objeto de consulta aqui. Eu vou basicamente definir a tarefa sobre ele vai ser uma função. E aqui precisamos enviar a tarefa específica com base em I D. On. Como eu disse que a idéia será passada no argumento para que você possa obter essa idéia no
parâmetro arte . Então, como você sabe que o primeiro argumento, este objeto pai, então eu não vou usá-lo que está desligado agora. Então, indo simplesmente manter cidades de protesto e o segundo objeto é tão basicamente, então aqui eu posso simplesmente dizer tarefa que eu não encontrar e eu vou entrar na tarefa usual em uma geração aqui. Eu gostaria de retornar aqueles mangueira tarefa I d é equivalente a arte filha I d em dhere Além disso , eu posso ser estruturado o i d da arte. Portanto, aqui posso simplesmente dizer que Heidi e eu gostaríamos simplesmente de usar este argumento em particular
aqui . Então, agora deixe-me ver isso. Vamos ao navegador e testar. Então, agora você contesta este Kredi em particular nesta mesma pergunta, tudo que você vai acertar esta Coréia separada em si. Então vamos acertar a consulta separada em Lembre-se que se você quiser executar várias operações como uma imitação quadrada ou assinatura no mesmo lugar, então você precisa nomear aqueles em operação diesel que foi Ele vai lançar o outro. Então deixe-me até mostrar que cinco,
por exemplo, por exemplo, tentaram acertar a tarefa. E se eu especificar a idéia como uma Onda, deixe-me tentar agarrar o campo como o I d em Wharton. Em segundo lugar, posso saber o nome. Eu também posso obter o status completo. Agora, se eu acertar isso do que como agência, diz que esta operação anônima deve ser a única
operação definida . Isso significa que você só pode executar uma operação anônima. Então vamos dar um nome a eles. Então, para esta primeira operação, eu limite como obter todo o crepúsculo e eu inclinei a segunda operação como get tarefa por i d. E simplesmente indo para prettify isso agora Se eu tentar executar isso, então como você pode ver minha segunda tarefa, mas em exatamente bem. E se você está se perguntando, como é que a segunda tarefa é alugada? Então, se você basicamente é simplesmente hit controle mais enter inserir off para uma operação particular do que a operação Padilla vai executar. Mas se você quiser o r un explicitamente clicando neste botão play, então você tem que escolher de sua operação Você deve executar porque desde que você definiu operação
múltipla aqui, então você precisa basicamente escolhê-lo para que eu possa escolher Este também. E eu posso escolher este também. Ou, em suma, o que posso fazer é sair desta operação. Nós só temos piedade aqui e qualquer muito em vez deste escopo particular fora desta operação. Se eu apertar Enter, então essa operação em particular vai ser executada. E se eu vir aqui como você pode ver, meu carro estuda aqui no âmbito da operação de idéia. E se eu pudesse entrar aqui, esta operação em particular vai ser executada. Então, como você pode ver, eles são perguntados por ele está funcionando perfeitamente bem. E vamos tentar isso para as outras ideias. Bem, como você pode ver, eu estou recebendo a nossa tarefa específica pelo
I.D. I.D. e como discutimos no vídeo anterior, são essas as idéias? Um tipo de scaler especial que é sempre serializado como uma string. Isso significa que mesmo se você pausar em número, rebocar essa popularidade, ela será creditada como uma string no back-end. Como podem ver, guardamos o deserto. Se isso não estava sendo tratado como uma string através do I chamar e verificar teria campo aqui e deixe-me um mostrar-lhe por idêntico. Então bloqueio na parte de trás e para que você possa ver essa idéia é serializada como uma string em. Não é fritado como um número. Então aqui eu vou basicamente simplifica a cair. Mover esta coisa para aqui em ir simplesmente ele neste aqui, Eu vou adicionar o log do console como simplesmente digite off em ir para especificar o I D. On. Deixe-me ver isto. Vamos marcar, mas o navegador e testar como eu abrir uma lésbica terminal. Então, se eu basicamente tinha isso agora vamos ver o que fazer considerar como você pode ver no outro dia salvando string mesmo que nós passamos o número, isso significa que o tipo I D é serializado como uma string. Então eu acho que é isso para esta equidade particular em Eu espero que você foi capaz de acompanhar e muito
obrigado por assistir este vídeo.
16. Obtenha a lista de usuários e obtenha o usuário por ID Query: Olá conduzido. Então, neste vídeo, vamos adicionar a consulta, esquecendo a lista de usuários em também obter o usuário pelo papai. Então, aqui na seção do refrão, vou adicionar outra consulta. O usuário do Korda em Ele vai ler em nossa lista fora do usuário, e cada usuário, em vez da lista será não-chamável em. Vou adicionar outro curry esquecendo o usuário por 80. Então eu vou esperar as idéias uma discussão sobre uma colina em novamente. Este argumento será não-chamável sobre ele vai ser um simulado no único usuário. Então vamos à direita há sempre um para a lista fora do usuário, então eu basicamente ir embora aqui em ir dedo do pé no resolvedor do usuário em Dhere, indo simplesmente retornar os usuários em esquecer em belo usuário que eu estou indo simplesmente definido são visível para o mesmo. Então, o primeiro argumento é o objeto pai e começar, há um monte de função. Então, desde que você não está usando, o pai está desligado agora indo para algum lugar basicamente o campo de sublinhado. Isso significa que não estamos usando este argumento aqui nas horas que eu posso ser estruturar o I D em O que vai simplesmente fazer é que eu posso simplesmente dizer que os usuários não se dão bem em educacional. Obter um único usuário aqui. Eu posso simplesmente dizer filha usuário, I d é igual à idéia de que este passado como um argumento, então temos o resultado ou função e pronto. Mas se você tiver uma olhada no esquema do usuário, você pode ver que o cliente também pode pedir a lista fora do Tusk que está associado a este usuário. Então precisamos escrever os resultados de nível livre ou para o mesmo. Então aqui estão basicamente festival no tipo de objeto. Inserir fora de sua Queremos adicionar o resultado do campo bem, modo que o tipo de objeto é usuário e eles sentem que é presa. Então, se eu disse o que eu te declaro, use esse objeto oito. E em vez disso,
eu gostaria de ter os resultados do campo de tarefas e novamente, é uma função ligada. Nós temos acesso ao objeto pai aqui, então eu vou para a estrutura. O uso pronto a partir daqui no objeto pai em ir simplesmente dizer tarefa não encontrar. E aqui na educação, posso simplesmente dizer que as estrelas de Nanto que já usaram são equivalentes às que eu fiz que dispuseram aqui. Então deixe-me ver se isso agora, podemos testar esta consulta. Vamos para o navegador em Atualizar o aplicativo em. Se basicamente vamos para seus cães, então você vai ver que agora temos mais consultas aqui para o usuário. Como você pode ver, temos a lista fora da consulta do usuário e uma única consulta de usuário também. Então o que eu vou fazer é eu vou testar o truque do usuário em outra guia para que possamos alternar
rapidamente para frente e para trás. Temos segregação adequada entre vários MPs em. Deixe-me chamar este tipo particular como fugitivo e deixe-me chamar este tipo particular como usar Arábia e você pode nomeá-lo o que quiser. Não é necessário. Então aqui, primeiro de tudo, eu vou executar a consulta para obter a lista do usuário. Então deixe-me nomear as Coreias. Bem, assim que eu receber uma chamada, usa-nos no Dhere. Eu posso simplesmente pedir para os usuários sobre isso. O que é o campo está em causa. Posso pedir o posso pedir o nome e deixar-me bater. Entra então. Como pode ver, tenho acesso a todos os usuários. E se eu basicamente pedisse por todos os EUA, vamos ver, o que ganhamos? Então, se eu basicamente pediu para o nome da tarefa sobre se ele está concluído ou não, deixe-me um tenda. Então está desligado agora diz. Esperava que se rebelasse, mas não encontrou um para a tarefa do usuário sentir. Então nós estamos recebendo este outro porque nós definimos a tarefa como uma lista de item. Mas o que estamos retornando aqui é o objeto que este encontrar meu terceiro vai basicamente em um objeto assim que ele cumprir esta condição. Então, em vez de ajuda financeira para usar diferentes remidos aqui, que está indo para escrito em nova matriz que irá conteúdo objeto que irá cumprir estas condições
particulares. Então deixe-me dizer isso. Vamos para o navegador e se eu apertar isso de novo, então como você pode ver, ele funciona totalmente bem. Então temos esse usuário e temos a tarefa também, certo? E vamos testar outra equidade onde basicamente tentamos buscar um único usuário. Então você vai simplesmente nomear a operação como obter usuário por 80. E aqui eu posso pedir para o único usuário em. Deixe-me pausar as idéias do usuário, por exemplo, um sobre para Então eu gostaria de buscar as informações do usuário, como no nome e no e-mail . E se eu apertar Enter. Então ele diz uso que não está definido. Então vamos apenas para o tribunal de SNC assistiu problema. Então aqui está, basicamente dizendo aqui. Ok, então nós precisamos simplesmente nomeá-lo como usuário e direto usuários. Então deixe-me ver se isso vamos para o navegador sobre odiar isso novamente, então, como você pode ver, ele funciona totalmente. Se eu pedir o segundo usuário, então eu obtenho o detalhe do segundo usuário. Posso até pedir as ideias. Bem, como você pode ver, eu posso perguntar o que as informações do usuário do cartão bem no dia 14 essa informação também. E aqui também posso pedir as informações da tarefa que estão associadas a este usuário. Então digamos, por exemplo, se eu pedir o sobrenome para o i d. Deixe-me entrar na agência Nez. Eu recebo todas as tarefas. Nós apenas associamos isso a esses circuitos de usuário em particular. É isso. Esqueça todos os usuários em Obter um único usuário pelo i d. patrimônio em. Espero que você seja capaz de acompanhar. E muito obrigado por assistir este vídeo.
17. Crie mutação de tarefas: Olá, todos Até agora estávamos implementando. A carreira é só agora é hora de implementar a mutação também. Neste vídeo, vamos implementar a mutação da tarefa de criação. Então, para criar a mutação, você tem que declarar um tipo de nível raiz chamado mutação e inserir fora que você transmitir bobagem a clara sua imitação. Então, aqui eu vou basicamente criar uma mutação chamada como criar tarefa para que os usuários podem adicionar tarefa na lista existente. Off tarefa em para os argumentos que eu vou esperar o objeto como um argumento. Então, para o nome do argumento, eu vou mantê-lo como entrada e mal definido este argumento em particular em um pouco. Mas para a nomeação, vou chamá-lo como criar tarefa. A entrada nele será conhecida. Um nível sobre esta mutação também vai retornar o tipo de objeto off tarefa. Agora vamos definir esta entrada do produtor aqui, Então vai simplesmente dizer, entrada na conta visada entrada como criar entrada tarefa em. Vamos definir o campo de vídeos que queremos para este criar pedir mutação. Então, aqui, indo para simplesmente definir o campo, tal como o nome nele não será nenhum rótulo String Next mal definido o concluído, que será conhecido um nível 1.000.000.000 em Eu também vou definir o uso já em. Isso não será um nível já. Então isso é tudo que eu preciso para definir o esquema. Agora vamos definir que é tudo trabalho para este mágico. Então vamos até aqui. Então, agora que implementamos a mutação quando ela definiu o resultado da guerra em vez do objeto
mutação aqui. Então, indo para primeiro de tudo, definir o objeto mágico aqui vai ser encontrar o nome fora da guerra resultado, que é criar presa. E novamente ele vai ser uma função e como sabemos que vamos receber DVDs sente para criar a tarefa dentro muitas vezes campo de entrada como um objeto para que eu possa obtê-lo a partir do
objeto argumentos . Então festival aqui eu vou declarar o fim do campo escolar para o objeto pai em Eu vou basicamente esta estrutura o campo de entrada a partir daqui. Então, isso basicamente me dará os campos que estão presentes aqui no tipo de entrada que é criar entrada de tarefa. E o que eu preciso fazer é empurrar essa nova tarefa em particular. Inserir fora da lista de tarefas em para empurrar a tarefa Inserir fora da lista. Eu também preciso gerar um único i d para a tarefa. Então, para doar as idéias únicas fora Agora eu vou instalar um pacote. É chamado como eu d. Então vai simplesmente dizer e instalar você já vai usar este pacote? Putin terminou a universidade. Então agora vamos a isto. Nossa porta, Jess. Então, como você pode ver, é feito a instalação. Então, primeiro de tudo, deixe-me exigir esta biblioteca em particular. Então, aqui, vou simplesmente dizer, const você eu d igual a exigir você pronto em. Agora eu vou basicamente usar isso que eu d em e criar o objeto que eu quero criar. Então aqui, primeiro lugar,
eu diria pó de const que ele chama de objeto. Então, primeiro de tudo, eu vou espalhar de um todos os sentimentos que é dado pelo usuário. Em seguida, eu quero toe Adicione o i d para esta tarefa particular, que será único. Eu iria simplesmente dizer que você já estava escuro antes. Então, qual é o dedo do pé feito? A idéia única como uma string em ir simplesmente dizer isso agora basicamente empurrará esta tarefa
em particular. Insira o Ari existente. Então, vai simplesmente dizer, tarefa escura Push em ir empurrar esta tarefa em ir para retornar a tarefa recém-criada. Então deixe-me dizer isso. Vamos tentar essa escola de mágicos nerds. Mas o navegador, o novo. Se você tem um olhar para a documentação,
então, como você pode ver agora, podemos ver a mutação diz Bem, aqui temos a petição de tarefa criar sobre ele basicamente também mostra o argumento que esta mutação
específica requer. E se você clicar sobre isso,
então, como considerado exatamente certo difícil que é necessário para este tipo específico. Então vamos para a tarefa deles ap uma guia e aqui estou eu indo para disparar a mutação. Então, primeiro lugar, você deve especificar o tipo de operação com essa mutação. Em seguida, você pode especificar o nome fora da operação. Então vamos chamá-lo como criar tarefa. Agora. Aqui eu posso simplesmente acessar a imitação de tarefa criar e em vez disso e levou além de
todas as informações no objeto de entrada. Então, aqui, indo dedo primeiro de tudo nome positivo tem, por exemplo, nova tarefa em ir toe passado o status concluído como falso. Em ir dedo do pé passado o usuário eu d como, por exemplo, um em. Como resultado, posso pedir todos os sentimentos que o nosso recém-criado. Então eu perdi para o nome também e eu vou também nós para os ilustradores completos. Deixe-me preparar isso. Vamos acertar isso agora. Então, como você pode ver, temos este recém-criado uma tarefa que é dada como uma resposta do servidor. E se eu basicamente executar isso, começar na tarefa então Como você pode ver, esta nova tarefa é adicionada aqui com um
ID único que é gerado com o pacote U I D. E,
claro, não vai persistir aqui porque está desligado agora. Não estamos usando a base de dados. É simplesmente um Oreo estático aqui. Então, se eu basicamente guardei isso como a Normandia começar esta guerra, essa insurgência muitas vezes vai ser perdida, e não vai persistir fora do curso. Mas eu só queria mostrar a vocês a funcionalidade de mutação em que é isso para este
vídeo em particular . E eu espero que você tenha sido capaz de acompanhar. E muito obrigado por assistir este vídeo
18. Modularize resoluciones: Olá, todo mundo. Então, neste vídeo, vamos para Marie Le Dice. Arte é uma palavra, porque agora temos tudo em um arquivo, que é que não estamos. Sim, Além disso, temos esta mente chave um arquivado. Então vamos para moderados. Isso saiu no próximo vídeo, mas como fora Agora vamos nos concentrar nas guerras resultado. Então o que eu vou fazer é criar um completo aqui, chamado como é sempre. E em vez disso, criarei perfis. O 1º 1 para lidar com o resultado do usuário estava no 2º 1 para manipulação. A tarefa acabou. Agora. O que eu vou fazer é simplesmente copiar tudo daqui em diante indo para pastelaria dentro da palavra de resultado da tarefa em ir simplesmente dizer exportações modelo é igual a um objeto e vai colar tudo aqui. E eu vou remover tudo o que não está relacionado com a tarefa deles. Então eu só removo essas grandes coisas. Vou remover este usuários também e também vai remover este usuário um nível justo dissolvido que
pudéssemos remover. Isso está desligado Agora deixe-me ver se isso e desde que nossas decisões prêmios estão basicamente usando a tarefa e os usuários constante. Deixa-me pô-lo aqui. Então, um dos usuários simplicidade vêm com a gente sobre isso basicamente vem da pasta Constants. Tudo bem agora, vamos fazer o mesmo processo para o usuário. George é Elizabeth. Simplesmente indo para cópias. Vá a estes ou não. Sim, ao ir exportar este objeto. Então deixe-me colar tudo aqui e aqui agora irá basicamente remover tudo o que
não está relacionado com o usuário vai remover esta tarefa também. Só vou manter os dois créditos aqui. O 1º 1 é o segundo usuário quando seu usuário está indo para remover esta grande tarefa. Mágico está bem indo para remover esta tarefa muito nível. Há sempre tão bem nisso. Então, o resultado do nosso usuário o que também está pronto agora? Finalmente, o que eu vou fazer é criar nos próximos dias arquivando este resultado e aqui vai importar
a palavra doninha e sua tarefa acabou de seu respectivo arquivo. Então, vou dizer usuários const sempre iguais exigem usuário barra escura em ir também ter a tarefa de é uma palavra sobre isso também vem do crepúsculo. Agora, aqui eu vou simplesmente exportar a teoria fora do resultado seria aqui indo para algum lugar um uso que é mais sobre o perguntou seu antigo. Então isso parece bom em você pode basicamente pro esperar. Esta série de guerras de resultado tem dois anos de idade. Palavras em vez da configuração Apollo várias. Então deixe-me remover tudo daqui em diante. O que eu vou fazer é importar a lista de seu dono do resultado ou pasta. Então não diz Const. É sempre em Isto basicamente vem do É sempre para que em vai fazê-lo fora desta variável aqui em. Eu acho que eu preciso nomeá-lo como é quase assim. Ele será usado automaticamente porque já é encontrado por aqui. Então eu acho que ele parece bom em deixe-me remover esta constante no porto, bem como ele não é mais necessário. E eu acho que nós precisamos mover este ano já constante dentro do seu indivíduo. É sempre assim que vai simplesmente importá-los aqui em ir fazer o mesmo no arquivo Js ponto
usuário é bem, e eu acho que precisamos importar os usuários em sua tarefa e tipo de taxas de usuário arquivado. Então deixe-me simplesmente copiar os dois fora desta importação. Vou colar a sua porta aqui, e acho que sim. Não é necessário aqui. Então, quando realmente não seguir isso em frente, deixe-me dizer isso. Agora em, Vamos para o mais sutil atualizar o aplicativo e vamos verificar se tudo funciona bem. Então deixe-me tentar acertar para conseguir nossa tarefa. Como você pode ver, ele funciona corretamente. Eu não tentaria pegar o campo de usuários em vez da tarefa do gueto que Woody é contra. Funciona bem. Vamos tentar a mutação. Também funciona bem. Vamos para o usuário FBI em Vamos tentar acertar o get all use uma repetição como você pode ver
capaz de obter todo o usuário e eu também estou indo para obter único usuário para que tudo está funcionando bem. Tudo o que fizemos foi basicamente retomado. O é sempre daqui em diante colocá-lo dentro de suas respectivas pastas no próximo vídeo , nós vamos segregar o esquema também porque nós não queremos dedo, você sabe continuar escrevendo aqui em uma única luta. Vamos tentar o dedo do pé. Segregar isso e você vai aprender um conceito muito importante relacionado com o dedo esquema Separação Caldas Esqui minha costura. Então vamos dar uma olhada no próximo vídeo sobre. Muito obrigado por assistir este vídeo.
19. Modularize de Schema (Estigando): Olá, todos neste vídeo, vamos modelar Arise são esquema em ir para o lugar? Esta tarefa relacionada e eles usam esse esquema de letra que é sua mutação de consulta também. Esther digite em arquivo separado em ir dedo do pé, combinou-os em um arquivo e passará esse esquema combinado particular para o
servidor Apollo . Instância. Então este processo fora combinando vários esquemas de diferentes lugares, é chamado nós pedindo minha costura agora, Uma coisa importante a notar aqui é que em todo o seu esquema, combinando todo o esquema separado, não pode ser apenas um bom tipo de nível em seu skimmer. Isso significa que só pode haver um tipo de crédito. Só pode haver um tipo de mutação. Só pode haver um tipo de assinatura. Então, se você quiser definir o esquema separado para a tarefa e esquema separado para a
unidade de usuário para fora do curso place de querian tipo de Quito, certo? Mas como eu disse, só pode
haver um tipo de consulta de nível de estrada. Então, como você pode basicamente definir mente de esqui separado vários arquivos e ainda colocá-los dentro da qualidade? Então, vou mostrar-vos a solução daqui a pouco, mas deixem-me tentar mostrar-vos exactamente o problema que temos aqui. Então, por exemplo, se eu declarar outra dica de crédito aqui em, vamos supor que eu tenho qualquer sensação aqui, por exemplo, teste e eu vou especificado como uma string. Não se eu ver se isto lá marcou o terminal deles e ver o que conseguimos. Então, como você pode ver, ele diz, só pode
haver um tipo chamado consulta que vence. Só pode haver um tipo de consulta de nível de estrada agora alerta cinco para a mutação também. Deixe-me ver se isso vamos para o terminal. O concerto da NASA diz que só pode haver uma mutação no nome do tipo. Então vamos ver, Como podemos definir as várias consultas em arquivos separados e mutação múltipla em
arquivo separado , Mas ele ainda está colocando-os sob o tipo de nível raiz para que você possa fazê-lo usando o conceito off extend. Então, o que essa palavra-chave extensão vai, Ele basicamente vai estender seu tipo base em. Vamos adicionar mais história de preenchimento, Então que seja isso explicar-lhe pelo exemplo. Então, por exemplo, aqui temos o tipo de usuário agora o que eu posso fazer é se eu quiser adicionar mais preenchido dedo do pé, este tipo particular, eu posso simplesmente dizer tipo de extensão usuário aqui. Eu posso adicionar mais campo, por exemplo, endereço em Eu vou apenas, por exemplo, mantê-lo como uma string. Deixe-me ver se estes como você pode ver não há odor. Vamos para o navegador, o fresco. E se eu ir para a documentação sobre desafio, por exemplo, para este qualquer off esta consulta relacionada ao usuário em como você pode ver no tipo de usuário. Agora temos este novo campo de endereço que este adicionado apenas estendendo o tipo base e
não confundir esta palavra-chave extensão com o conceito de herança que temos na programação
orientada a objeto . Porque esta extensão dar não está criando um novo tipo. É apenas estendendo o tipo base. Como você pode ver, não
há novo nome para o site que acabamos de criar. Estamos simplesmente estendendo o tipo de usuário. Não estamos criando uma pessoa e se estendendo aos mortos, então espero que entenda agora. Uma coisa mais importante a observar aqui é que você não pode estender tipo baseado vazio, modo que missy deste. Como você pode ver, você vai ter teatro, e na verdade, você não pode sequer ter um tipos vazios. Portanto, a razão pela qual você não pode estender o tipo OMT é porque você não pode ter o tipo vazio Inserir fora do seu schemer. Então, por exemplo, se eu definir nosso tipo chamado de endereço e se eu manter isso vazio, salve isso então, como você pode ver, você não pode ter tipo vazio em espécie de seu esquema. Então, agora que temos entender o conceito fora do tipo de extensão, o que eu vou fazer é eu vou criar arquivos de esquema separados para a tarefa e para o usuário em ir para estender o tipo de consulta de nível raiz base, Selecionar invernos Faça isso agora. Então festival aqui, eu vou criar fora mais velho tipo de morte de Calder em uma espécie de esta idéia criar para lutar um para a tarefa em um para o uso em. O que eu vou fazer é ir para os vários George para simplesmente copiar tudo isso em
ir para o pé do pé. Hastert, aqui no arquivo de perseguição da porta de tarefas. Primeiro, vou importar a sequela do tipo Apollo. Que expresso? Vou dizer que const é igual a necessário. Apollo lado irá expressar em Dhere vai simplesmente exportar este esquema particular. Então, quando é um modelo de ponto, a exportação é igual a isso. E neste arquivo, eu só vou manter os dados que estão relacionados com a tarefa. Então, indo para remover as saudações daqui, fomos informados a ele fora as informações relacionadas ao usuário a partir daqui vai manter os criadores em
cidades portuárias vai manter a tarefa criar Mutação também irá remover o tipo de usuário a partir daqui, e nós vamos manter o tipo de tarefa tal como está. Nenhum alerta para fazer o mesmo para o usuário. Georgie também. Então, indo para copiar isso, indo para colado dentro do usuário, Georgie vai simplesmente exportar esta coisa em ir para o importante Dicle da Apollo estão mais expressos sobre dhere. Além disso, vou manter o uso de informações militares sobre Lee. Então, indo, touring nesta tarefa mais tarde informações vai remover esta coisa bem e vai
remover este Criar pedir mutação também. É esta mutação apertada porque eu não posso manter qualquer tipo tão vazio como acabamos de ver no exemplo para que talvez mova isso indo para remover o tipo de tarefa também então eu acho que estamos prontos para ir. Agora. Tudo o que eu preciso fazer é combinar este esquema e exportá-los no fornecido em vez
do Apollo. Então, por exemplo, então aqui, em sua definição de tempo, eu vou criar o arquivo Js de ponto de índice e aqui eu vou primeiro de tudo, exigir a definição de tipo de usuário sobre isso vem do usuário barra ponto próxima vai exigir as definições de tarefa sobre este vem do arquivo tarefa Gorgeous aqui. Vou criar nossa fita base para outras fitas estenderem. Então aqui, vou simplesmente dizer contras id efs igual a Dick você vai em importação igual do Apollo Software Express. Então aqui, vou dizer const é igual a exigir Apollo disse que expressaria aqui dentro do veículo, eu declaro o tipo de nível raiz base. Por isso, é tipo consulta aqui. Também declarou a mutação do tipo. E o que eu vou fazer é estender esse tipo de nível de estrada dentro de lutas
separadas. Então aqui, indo simplesmente dizer estender, vamos para o arquivo Js tarefa aqui. Também vai dizer estender para o nível da estrada, Corey, digite em estender para a mutação do nível de trabalho. E como vimos que não podemos ter eu sou tipo e nem podemos estender nosso tipo vazio. Então aqui, só para o bem de ter algo como espaço reservado, eu vou apenas declarar na escola para que eles sejam recusados. Não se confunde se é uma consulta real ou não, este é apenas um suporte de lugar para que o outro tipo pode estender usando este tipo base em ir para fazer o mesmo para a mutação também. E você pode manter o tipo o que quiser. Esta é apenas uma consulta de espaço reservado e uma mutação. Não tem nada a ver com os olhos, tudo o que não terá. E é sempre que estamos apenas guardando isso. Então tem que haver um estado não está vazio, e outro tipo pode basicamente estendê-lo. E finalmente, aqui. O que vou fazer é mandar-nos um modelo de exportação de pontos aqui. Eu vou especificar a definição de tipo base, em
seguida, vai ser encontrar o usuário toque definição em, em
seguida, indo para definir sua definição de tipo de tarefa em finalmente vai ser entediado. Esta definição de tipo no arquivo estibordo ou Js em ir para especificar porta aqui. Então deixe-me remover tudo daqui em diante Finalmente aqui, indo simplesmente dizer calos. Definições sobre isso vem da pasta de definições de tipo em que sip. Então deixe-me ver se estes estão, vamos para o terminal deles e testar. Então, como você pode ver isso sempre correndo encontrar como escola para o navegador e eles são frescos, vamos Goerdeler documentação sobre. Temos este sentimento ordem lugar que foram adicionados em espécie de consulta base e o
tipo mágico , e temos várias outras ações e imitação que definimos agora. Grande teste de todos os nossos
A.P . agora. Então, se eu basicamente testar o todo usuário, em seguida, como contra ele funciona bem, é faz o bom uso uma variedade? Ele também está funcionando bem, alegado como a lista fora da tarefa. Está funcionando bem. Isso faz o ficar duro diretamente. Também está funcionando bem. Vamos também dizer ao Dick, criar-nos. Ele também está funcionando bem. Então, pessoal, isso é tudo para este vídeo em particular. Espero que você foi capaz de entender o conceito fora esquema costura em. Espero que tenha sido capaz de acompanhar. Muito obrigado por assistir este vídeo
20. Conectividade de MongoDB: Olá, todos em Neste vídeo, vamos fazer a conectividade de banco de dados mongo DB. Mas antes eles agora são como fingir que eu renomeei o projeto existente com o gráfico Apollo High Fun Parte 1. Então, o que eles foram chamados nós retornamos até agora estará disponível nesta
pasta particular sobre o que eu fiz é que eu criei uma pasta separada para qualquer tribunal que vai escrever a partir de agora porque eu queria que você tivesse acesso a este tribunal em particular. Porque se eu começar a fazer mudanças no tribunal existente, então muitas vezes apenas vai ser perdido que nós fizemos aqui. Então você terá tanto isso ou marcou na seção de recursos até total. Agora, nesta parte particular um e eu criamos a parte, também. Como você pode ver, aqui está a parte. Oh, e ele está contendo o mesmo tribunal de que nós previmos. Agora em diante. Mesmo se você der uma olhada no terminal. E como você pode ver, eu estou executando isso e Pam Brando no gráfico, nós vamos em alto nome Ojai Funny em parte. Oh, e tudo está funcionando como está. Então eu simplesmente criei uma nova pasta para que possamos fazer alterações para o tribunal ainda ter acesso ao tribunal que retornamos para permitir. Então agora vamos trabalhar neste diretório particular. Ondas. Eu não faço isso contendo a mesma base de código. Então agora vamos implementar o mongo para começar a atividade. Então, para interagir com o banco de dados Mongo, vou instalar uma biblioteca. Cordes Longo está em sua biblioteca de modelagem de dados de objeto para a mãe Será que mesmo Norges vai simplesmente
instalar isso? E no momento em que esta instalação, eu vou criar um dobrado aqui chamado US Database. Inserir fora isso. Eu gostaria de criar outra pasta chamada Como você faz em Internal Do You Till Going toe criar taxas de índice arquivadas em. Como você pode ver, isso é feito a instalação. Então, indo simplesmente fechar isso no festival vai exigir o Mangusto Beckett Então aqui, indo simplesmente dizer, mamãe continua indo para exportar método aqui chamado como conexão sobre isso vai ser uma função aqui, vai simplesmente dizer que Mango não está ligado no argumento da força. Você tem que passar bem o banco de dados para que gostamos de buscá-lo do ambiente. Variável no nome da variável. Eu gostaria de mantê-lo Mongo sublinhado bebê sublinhado você é então vamos definir este
particular Você está dentro do sujo e nós arquivar Então aqui eu vou dar o banco de dados mongo cólon barra barra barra nome local barra fora do banco de dados. Então deixe-me simplesmente chamá-lo de meu bebê. Deixe-me ver se isso vamos para aqui e para aqui. No segundo argumento, você pode passar opções de esponja. Então a primeira opção que eles não vão passar é usado New York pacote em ir para defini-lo True. Este vai é necessário para a versão de Nova York off Mongo db On no segundo argumento, eu vou passar outro argumento. Usam topologia unificada. Então este confronto é necessário para a última versão dos mongóis liberalmente para fazer as mangas funcionarem corretamente em Disconnect Met her, basicamente refeito, então prometa que eu posso sair da palavra-chave Await aqui para sair o teclado . Preciso fazer essa função. Você acha que agora, se qualquer tipo de erro ocorrer, então eu gostaria de lidar internamente bugigangas bloco porque se esta promessa falhar,
em seguida, sobre um teclado vai basicamente disse o outro. Então indo para a pista, ele quebrou aqui em ir para mover esta declaração para aqui em sai fora sucesso. Ir para simplesmente dados de log console é conectado com sucesso no caso de qualquer outro indo para simplesmente console log theater em ir para simplesmente para o outro. Então, espero que isso faça sentido. Deixe-me dizer isto. Agora vamos passar para este prêmio. arquivo do RJ está aqui. Eu vou simplesmente dizer abaixo o comentário aqui nos chamou de conectividade DB em vai exigir este método de conexão do arquivo tub Sutil. Então aqui, vai reclamar conselho o mesmo. Então eu vou ao banco de dados, cortar sua conta, e eu gostaria de obter a conexão meu terceiro aqui em simplesmente ir dizer conexão. Então isso é tudo que você precisa fazer. Agora. Deixe-me ver se isso no dedo grande dela com seu terminal e ver o que acontece, diz que você pode ver que diz banco de dados conectado com sucesso. Então eu acho que é isso para este vídeo em particular. Espero que tenha sido capaz de seguir em frente. Muito obrigado por assistir este vídeo
21. Esquema de Mongoose de usuário e tarefa: Olá, todos neste vídeo, vamos definir este esquema para sua tarefa e para o usuário. Então aqui na grande pasta Abyss, eu vou criar para seus modelos Cordless. No interior deste eu vou para Primeiro de tudo, eles encontram o esquema para o usuário. Então aqui, vai criar um arquivo chamado seu usuário no festival aqui, vai exigir as mangas. Solana disse, Const bongos é igual a ser silencioso Mangoes aqui vai simplesmente dizer esquema de usuário const é igual duas novas instâncias fora esquema de dardo mangas em. Em vez disso, vou redefinir o campo para o usuário para que os usuários mantenham campos como nome em. Isso vai ser fora de uma string em e manter o necessário como verdadeiro Próximo um dedo do pé tem o meio-campo nele é novamente vai ser do tipo string nele também será necessário como verdadeiro. Em seguida, teremos também o passaporte para o usuário. Então, quando qualquer porta aqui é um on novamente, será
necessário. Ondas Sabemos que o usuário terá uma ou muitas relações com o modelo de tarefa. Então aqui precisamos definir a relação entre o modelo de usuário e seu modelo de tarefa em. Ainda não defendemos o modelo deles, mas deixem-me ver isto aqui. Então ele vai manter a lista fora tarefa em cada item. Dentro da tarefa será fora mangas tipo, esquema de
dardos, tipos de
portas, sua objetividade. Então, todas as ideias únicas ali, distendidas pelas mangas, são do tipo especial chamado “objeto”. Pronto Assim, Eu defini o tipo como objetividade e, em seguida, você tem que definir a referência para que eu vou manter os seus amigos como tarefa sobre este. Basicamente, eles são forçados a seguir o modelo que vamos defini-lo em breve. Aqui, finalmente, você pode simplesmente dizer que o modelo North export é igual a mestiços. Modelo escuro em você pode basicamente passou o modelo em que as questões er sobre. Então você pode passar. Este jogo mede esquema do usuário. Agora, aqui no esquema de mangustos, você basicamente primeiro de tudo, definiu o esquema no primeiro argumento neste segundo argumento, você pode passar várias opções Então aqui eu gostaria de passar a opção chamada este carimbo de data/hora e disse muito verdadeiro. Então, o que isso vai fazer é limpar automaticamente o
campo criado em e atualizado em . Por isso, em última análise, vai fazê-lo. Você não vai ter que minutos nada. Então deixe-me dizer isso agora é hora de criar o modelo de tarefa. Então aqui foi simplesmente dizer, tarefa. Georgie está indo para copiar tudo daqui, apenas indo para simplesmente atualizar algumas das coisas. Então, para roubado nomeado ele ou a menos tarefa em Eu vou basicamente o lugar esta coisa como
esquema de crepúsculo em para os campos. Eu gostaria de ter o nome aqui na próxima. Eu gostaria de ter o campo concluído que será fora de barras. Então vamos defini-la aqui. E uma vez que o relacionamento da tarefa para o usuário é muitos para um, então vai definir seu relacionamento aqui,
Então, indo para primeiro de tudo, sonhar com isso aqui, indo simplesmente dizer usuário sobre isso será fora do tipo mangas. Fitas de ponto esquema dardo ponto objetividade em Bill referenciado usuário Immortal s. Então indo dedo definido usando o ref em tributo aqui, ele vai passar o modelo de usuário. Então espero que isso faça sentido agora. E só para ler sobre as relações. O usuário está indo para o pé. Mantenha a lista fora da Tarefa 80 que ele tem e tarefa está indo dedo do pé Ter o usuário i d. Então isso significa que uma única tarefa terá apenas um único uso pronto Mas um usuário pode ter várias tarefas. Então é por isso que eu defini isso assim. Assim é. É isso para este vídeo em particular. Andi, espero que tenha sido capaz de acompanhar. E muito obrigado por assistir este vídeo.
22. Mutação de assinatura: Olá. Todo mundo nisso. Você sabe, se você vai fazer isso e aumentar a mutação, mas antes de recorrer para isso, eu gostaria que você baixasse essa ferramenta em particular nos chamou por cerca de 30. Então, se você basicamente visitar robe entre ou porta para download e barra, então você pode simplesmente não senhor ele aqui. E eles ainda basicamente fornece o fazer y para interagir com o banco de dados de Monterey Bay que você
possa executar todo tipo de operação, como criar lá em cima dilatar e menos documentos , bem
como soltar coleta, criando coleção, coisas assim. Então, é muito importante nesta história. Tratado é apresentado. Um neste aqui é basicamente grátis. Então você pode basicamente não querer esse robô bonito. Uma vez que o
faça, será algo parecido com isto. Deixe-me mostrar que você pode simplesmente se conectar aqui à esquerda. Lá dentro, você verá todo o banco de dados que você tem em seu banco de dados mais longo, e nós vamos explorar esta tumba ou enquanto prosseguimos, mas como fora Não, vamos continuar com a tradição do Senado. Então não, eu vou basicamente para a definição de tipo de arte para o usuário em ir dedo do pé. Criar a mutação para a inscrição porque ele vai mudar isso em linha reta no back-end e alguns defendendo a consulta nórdica mágico. Então aqui, quando não coloca a mutação de extensão aqui indo para defender a mutação como se inscrever em, vamos esperar alguns dos campos nos argumentos em que teremos que aceitar inserir fora do objeto de entrada. Então deixe-me criar nosso objeto de entrada chamado como sign up. entrada sobre isso basicamente retornará o usuário. Deixe-me criar esta importação aqui. Então vai simplicidade no porto se inscrever no porto aqui. Vamos perguntar algumas coisas, como? Para o nome neste será string não-chamável. Nós também vamos pedir o e-mail sobre isso será nenhuma string inaudível também. Em nós lançamos Waas A senha sobre isso será conhecido uma string liberal também. Então agora temos isso pronto. Agora vamos definir esta mutação no resultado seria. Então vamos para a perseguição porta do usuário em vez da guerra resultado aqui na mutação indo direção encontramos isso uma amputação e aqui indo para definido é uma função inferior e em vez de este mundo vai fazer é primeiro terrível ele tentar agarrar o argumentos aqui para que possamos executar o sinal de operação. Então, no primeiro parâmetro, temos os objetos pai. Você vai ignorar este no segundo argumento, indo para reestruturar o objeto de entrada do objeto de arte. E agora nós basicamente importante o modelo de usuário para que você possa realizar este cadastro. Então aqui, indo não diz const solicitações de usuário para exigir em eu posso obtê-lo de modelos de
barra de banco de dados barra usuário Agora, primeiro de tudo, precisamos verificar se o e-mail que exibir roided pelo usuário no argumento já existindo o sistema ou não, porque não queremos desertar para se inscrever com e-mails duplicados. Então aqui vou eu consultar o modelo de mangusto para sabermos. Basta dizer, usuário Dort, encontre um aqui. Você pode basicamente passar o campo que você quer encontrar, então queremos encontrar o e-mail e eu posso obtê-lo de entrada. Escuro e-mail sobre isso basicamente retorna a promessa, então vai fazê-lo fora da palavra-chave aguarde e para fazer uso da palavra-chave over eu vou fazer esta função é tinta em gostaria de colocar tudo dentro da faixa. É bloco de modo que se houver algum mérito, podemos basicamente lidar com esse erro. Então isso chegou aqui. Eu vou mover esta coisa para cá no caso de qualquer outra simplesmente ir para consola log da era em ir dedo do pé para o outro. Então vou dizer, jogue melhor. E agora, uma vez que o usuário aqui vai simplesmente colocá-lo dentro de uma constante aqui, indo simplesmente verificar se o usuário existe. Então, se o usuário não for encontrado com o e-mail fornecido, o usuário será não. Então eu posso simplesmente verificar se esta coisa em particular é normal em Se isso é verdade, então eu gostaria simplesmente para o outro. Então, quando eu disse através da nova era e eu gostaria de passar a mensagem tem e-mail já em
uso em Se este não for o caso, então podemos colocá-lo para a sua com este e um processo. Agora, antes de criar o usuário no banco de dados, precisamos primeiro de tudo, obter a senha hash porque os usuários basicamente fornecerão a senha é uma
string simples aqui. Mas em vez do grande abismo, Nieto tem a senha para que ele seja protegido. Então, por hash a senha, eu vou fazer uso da celebridade chamada foi enganada. Então vou dizer foi empatar grande viagem, Jess em. Uma vez que isso é feito indo, colocar simplesmente criadores fora do nosso método disponível na biblioteca de cripta chamado como hash fingiu ser hash senha. Então deixe-me deixar isso aqui, vou precisar da biblioteca. Então, quando eu disse const grande rasgado iguais exigia objetos maiores em ir para mover essa coisa aqui para que nós tenhamos segregação adequada. Mas quando as importações da biblioteca foram diz barcos de violino personalizados Então aqui vamos a algum lugar uma senha
hash const em ir fazer uso fora da função Big Hash escuro viagem aqui. Você precisa basicamente passou o texto simples em vez dos argumentos forçados de entender Melissa entrada Dark password na segunda unidade de argumento para qualquer passou esta
string de classificação em você pode gerá-lo usando a mesma biblioteca. Ou você pode deixar o grande respondeu realmente gerar desordenado para você. Então vamos seguir com esta segunda abordagem. E se você quer ser aleijado realmente dedo do pé sob o haxixe para você, então você precisa passar o número, que é chamado de nós. Desculpe, drone, e basicamente determina o quão complexo será. Toe tem sua senha. Assim, o intervalo recomendado suave para o sal errado é de cerca de 10 a 12. Então vou passar bem por aqui. E isso também não prometeu. Então, vai fazer isso fora do obit manter o que nós aqui e agora aqui, eu vou simplesmente dizer, const novo usuário é igual a duas novas instâncias fora do modelo de usuário em ir simplesmente primeiro
passo terrível . Todos os sentimentos tão vai se espalhar sobre a entrada em que eu gostaria de saber onde o
campo de senha com a senha hash. Então, o que, este objeto irá segurar este basicamente nome de e-mail na senha em. Tudo o que fizemos acabou. Eu fiz o campo de senha com a senha hash. Agora, finalmente, tudo que você precisa fazer é simplesmente dizer, novo usuário ponto C sobre isso também basicamente retorna a promessa. Então vamos sair da mesa de operação aqui e aqui vai simplesmente dizer construir deserto igual a este e finalmente vou simplesmente retornar o resultado. Espero que isso faça sentido. Deixe-me ver se isso agora vamos para o navegador e testar. Então aqui, indo simplesmente ir para o host local 3000 menos gráficos em vez da guia de usuário aqui, eu vou executar a operação de mutação. Então deixe-me ligar para esta operação como você poderia começar a usá-la. E em vez disso,
eu estou indo bem na mutação de sinal, que é o nome real da mutação dentro desta unidade, para passar o argumento no objeto de entrada e em vez desta unidade para passar todos os três , que são nome, e-mail e senha, porque todos eles não estão disponíveis. Então você está indo para algum lugar um nome em com espaço onde David, em seguida, especificar o e-mail como, por exemplo, David tinha grande gmail dot com. A noite está especificada. A senha em que será 123456 On como uma resposta a partir desta palavra R, vamos pedir para i d nos permite o nome em. Vamos pedir um e-mail. E agora deixe-me preparar estes. Andi, faça isso então. Como pode ver, temos a resposta do servidor. Vamos para o robo três tittle e tomar se houver usuário no banco de dados, Então basta clicar no fresco aqui. O NextGen ver aqui é que o meu banco de dados DB? Se eu for para a coleção, vá para os usuários, então, como você pode ver aqui, é o usuário criado aqui. Você pode alternar entre vários pontos de vista, como esta vista na vista de tabela neste tipo de você para que você possa usá-lo como colocar sua conveniência em Se você tiver um olhar para o quê? O passaporte com cuidado. Então. Como podem ver, temos a senha hash aqui. Onda, se você está se perguntando que em vez do grande abismo que temos, o sublinhado I d Campo nele está segurando o I d único para o usuário. Mas em vez do esquema gráfico do usuário, temos o i d. Então, como gráfico realmente mapeado o sublinhado? Eu d Então, o campo de idéia no esquema de tipo de usuário em retornou a idéia Nós estamos aqui. Então, como isso realmente aconteceu? Então isso realmente aconteceu porque fora do conceito de guetos virtuais em uma espécie de manga. Então o que realmente acontece é que sempre que você cria e d mangas Onda, qualquer que seja o resultado que você obtém das mangas em que algum mais falhou armazená-lo quando fora, que é a idéia virtual maior. E assim que você fez sobre o resultado da palavra Sinem Resultado, o rascunho de vontade é capaz de pegar o campo de idéia a partir dessa idéia Gator Virtual. E você pode ler mais sobre a ideia do jacaré virtual na documentação do Mangusto. Mas aqui, deixe-me mostrar-lhe adicionando um registro de console. Então aqui eu vou basicamente primeiro de tudo conselho log a sobremesa escuro sublinhado i d. E eu também vou falar para o tipo off resultado Dart sublinhado i d. E então eu também vou especificar o diferente aqui sobre este será deserto dot i d. Então deixe-me dizer este escritor eleitoral e isso Então, por exemplo, se eu correr para outro cartão de usuário como Kevin e eu vou nomear o usuário s Kevin, se eu ouvi isso agora vamos escola para o seu terminal então, como você pode ver, aqui está o sublinhado I d, que está fora do tipo Object on Dhere é o resultado ideia ponto virtual maior que é off type string. Então o gráfico está realmente pegando isso a partir do objeto resultado que retornamos deste trabalho resultado particular. Não está pegando essa coisa. Então é assim que está acontecendo. Deixe-me remover este console. A partir de agora, há mais uma coisa que podemos ir, que é o viciado criou esse campo e o campo de dados apertados no tipo de usuário. Inserir fora a definição de tipo porque desde que nós especificou a haste de tempo tanto deste presidente de
preenchimento assim permite a esta vontade para o tipo de usuário. Então aqui janelas em lugares onde o nome do campo acabamos de criar o tipo de especificidade Andi como uma string que entrará em um nível porque cada registro terá o criador que e o campo direto da ópera no espaço Dennis com o objeto atacado campo novamente. Isto será off tipo string e será conhecido o nível Então deixe-me pensar esta
escola alerta para o navegador e teste Deixe-me refrescar isso aqui Todos fornecidos Newman, por exemplo John no regimento dot com para o nome. Eu vou simplesmente dizer John em, Vamos pedir o criado aquele campo e o operacional aquele campo e deixe-me acertar isso agora ,
então, como você pode ver, nós temos o ato criado e o sequestrado em campo. Mas uma diferença que você observaria aqui é que aqui estamos recebendo este campo como um tronco de
tempo UNIX . Mas em uma espécie de grande abismo, deixe-me pressionar o controle, são dedo do pé, atualizar a coleção e obter o recorde mais recente. Então, em vez do banco de dados, temos a data como eu classifiquei. Mas aqui estamos recebendo o UNIX vezes eles. Então, por que isso está acontecendo? Bem, isso está acontecendo porque nós especificamos o criado em e eles operaram campo direito, off tipo string. Mas em vez do banco de dados, é um objeto. Não é uma corda. Se isto fosse simplesmente uma corda, teríamos Deus a mesma corda aqui. Mas agora, vez que é um objeto e é um objeto sortido olho, então trabalhadores após o preço para fazê-lo tenta converter este objeto. Então esta string e nesse processo de conversão, ele realmente converteu o que eu fiz para o tempo UNIX vezes, Andi, É assim
que o gráfico funciona internamente. Então, uma das soluções para corrigir esse problema é definir o tipo de scaler personalizado aqui, que vamos fazer no próximo vídeo sobre esse tipo será capaz de lidar. Eu vi dados do objeto também, mas como fora não, apenas para explicar a situação mais claramente e simplesmente copiar esta seqüência de data em Deixe-me ir para o usuário Result war E aqui vou adicionar um preenchimento. O resultado do nível foram inserir fora do tipo de usuário Então deixe-me adicionar resultado de nível Ofri foram chamados criou em e aqui vai simplesmente retornar i string sortida e deixe-me dizer
isso sobre isso é apenas para explicar que o artigo não está tentando converter a data da cadeia em seu tempo, na verdade, que este trem olhar para dentro o objeto que eu classifiquei em seus tempos eles. Então deixe-me ver se isso vamos para o navegador. E agora, por exemplo, se eu basicamente testar com outro usuário chamado como melhor usuário e que é especificamente o nome é usuário de
teste e se eu ouvi isso agora, então como você pode ver para o curador que temos esse impulso string. Isso significa que se em vez do banco de dados, isso era apenas uma string simples, não o objeto I assorted, então teríamos exatamente a mesma string que temos no banco de dados. Então eu espero que você foi capaz de entender isso em. Deixe-me remover estas palavras de nível livre dissolver. Isto não é um viciado para te explicar. Então é o cheque deles para este vídeo em particular. Espero que tenha sido capaz de acompanhar. E muito obrigado por assistir isso para você.
23. Tipo escalar de data personalizado: Olá, todos. E neste vídeo vamos implementar o costume. Grande habilidade, uma alça tipo dedo do pé, o gelo ou data. Então, para isso, vou instalar um pacote chamado Data do Equaliser Gráfico. Então, esse desaparecido faça isso aqui vai mandar o enxerto do PM. Você vai hífen que eu financiei tão alto neste pacote em particular basicamente provou o tipo de assassino do
Daytime que vamos usar. Então deixe-me simplesmente sair disso agora e eu vou basicamente para a nossa definição de tipo em Dhere indo para primeiro de tudo,
declarar o nome do assassino da alfândega. Então, a maneira como você faz a palavra é simplesmente pelo assassino de Singh e então você tem que especificar o
assassino da alfândega com essa data. Então agora precisamos que isso acabou para este assassino da alfândega em particular. Então vamos. Mas o resultado usando os próximos arcos e aqui indo para primeiro de tudo injetado acabou do enxerto depende tão grande pacote. Então, aqui, indo a importação do real eu classifiquei Onda, nós basicamente precisamos do dia gráfico isso tudo sobre este peculiar basicamente exposto três data gráfica scaler, data
gráfica e gráfica tempo. Queremos lidar com a data e hora também. Então vou usar essa habilidade em particular. Agora vamos usar este assassino. Então, vai simplesmente disse const habilidade data personalizada. Uma palavra resultado sobre ele vai ser um objeto sobre. Você tem que especificar o nome desse assassino, que está morto, e então eu vou passar a frigideira diurna gráfica aqui. Então isso vai resolver a data em. Tudo o que preciso fazer é usar esse resultado em particular mais baixo e exportá-lo para cá. Espero que isso faça sentido. E agora o que podemos fazer é ir para a definição do tipo de usuário e, em vez de string, enfraquecer. Basicamente, use o assassino da alfândega que acabamos de definir aqui no índice de tortilhas, que está morto. E eu vou fazer o mesmo para os operados em campo também. Então, a falta disto vamos para o terminal. Como você pode ver, tudo está funcionando. Finalmente, Agora vamos para o navegador e o fresco. E aqui primeiro eu vou acertar essa Anna BP com o usuário que já existe dentro do banco de dados em Se fizermos isso, devemos pegar outro. Estimamos esta entrevista no último rádio, mas vamos lá agora. Então, se eu apertar enter, como você pode ver ele diz e-mail já notícias. Agora, se eu basicamente atribuído com alguns outros usuários, por exemplo, Bob 22 palavra que é semelhante com para o nome de eu vou dizer Bob 22. E se eu ouvir isso? Agora vamos ver o que acontece. Então, como você pode ver agora, nós realmente guardar o exato que eu comecei a estudar, como temos dentro do banco de dados em para ver o registro mais recente, você pode simplesmente clicar com o botão direito sobre você pode no controlador de imprensa curto. Ou você pode simplesmente clicar aqui sobre a consulta re executar. Então, como você pode ver, aqui está o novo registro, como você pode ver, temos a mesma data em que este presidente aqui na mesma data é basicamente devolvido aqui. Agora temos esse assassino personalizado trabalhando bem com vocês. É assim que se aplica o assassino da alfândega. Andi,
espero que você tenha sido capaz de acompanhar e muito obrigado por assistir este vídeo
24. Autenticação: Mutação de login: Olá, todo mundo. Então, neste vídeo, vamos implementar a autenticação usando Jason Ripped Open. Então, vamos criar a mutação de registro usando qual usuário pode autenticar e obter dígitos na Web quebrados. Vamos usar este token para proteger outros PS, e vamos ver como você pode proteger seu A P A nos próximos vídeos. Mas como fora agora, vamos tentar implementar a mutação de registro e vamos escrever o token de volta para o usuário. E se você está se perguntando por que o Logan tem que ser mutação North Equity, porque o registro em log não vai mudar nenhum dado no back-end. Mas pode haver alguma coisa. Você está onde deseja bloquear alguma atividade do usuário enquanto o usuário faz login nas mãos? É uma boa idéia manter o registro como uma mutação, e eu também expliquei no esquema gráfico vídeo básico que na consulta executar simultaneamente e a mutação é executada sequencialmente. Então vamos supor um cenário onde você está definido o log como equerry em Digamos que você basicamente fogo ocorreu ao mesmo tempo. O 1º 1 é o registro em log. Andi Segundo trimestre realmente depende do estado de autenticação do usuário, Digamos que as segundas consultas para fudging a lista de itens. Então, como sabemos lá, Dick esperou e simultaneamente. Portanto, é uma possibilidade que a lista de itens seja executada primeiro antes mesmo da
etapa de autenticação ser concluída. E você pode obter o erro de autenticação da consulta de lista porque o usuário não está indicado ainda, claro. E então você deve basicamente definir o registro em uma espécie de mutação. Então agora vamos prosseguir com a definição. O registro é imitação, então você vai simplesmente dizer registro. E em vez disso, eu vou pedir a importação na importação que eu quero nomear. Aqui está a entrada de login sobre isso será off type token, porque tudo o que eu preciso fazer na autenticação bem-sucedida é simplesmente fazê-lo em seu token . Então deixe-me definir o token de tipo aqui sobre isso vai simplesmente ter o token em que será off type non a level string on. Agora vamos defender a entrada de registro. Então aqui, indo simplesmente dizer, entrada na entrada Logan e todos de um do usuário é o e-mail, que será fora do tipo string não-chamável. E a senha neste será fora do tipo de string de nível normal também. Então deixe-me dizer que são do tipo. A definição está pronta agora. Há todas para o registro. Então eu vou basicamente para os usuários mais. Lute aqui em vez da mutação. Eu vou criar o over para o login. Vai ser uma função para o perímetro de força. Vou escapar do dedo do pé, que é objeto aparente para o segundo parâmetro. Eu vou ser estruturar a entrada do objeto de arte que você tem dentro da
função resolvedor . Agora, enquanto antes de tudo, verifique se o uso que existe dentro do banco de dados antes de verificar a senha. Então aqui, indo simplesmente dizer, const usuário é igual sobre ele, usuário dot Encontre um e você vai passar o e-mail da entrada 40 mil em diante. Desde que eu estou usando o teclado sobre aqui, eu vou fazer esta função facilitar e gostaria de colocar tudo dentro de seu bloco de trackage para que, se houver algum erro, podemos facilmente pegá-lo. Então aqui, indo para mover esta declaração em particular em uma espécie de bloqueio tribo em vez de o
bloco catch indo para simplesmente console log o erro em também ir para o teatro. Então vou dizer através de não aqui. Primeiro de tudo, vou verificar se o usuário é pessoal. Portanto, se o usuário não for encontrado, o quit irá retornar. Então, nesse caso, eu vou simplesmente para os erros. Então, quando eu disse através da nova era e vai passar a mensagem como usuário telefone norte em, se o usuário é telefone, então podemos empurrá-lo para o agora. O próximo passo é verificar a senha, então usá-lo vai enviar a senha na cadeia de texto sem formatação. Mas em vez do banco de dados, temos a senha com hash. Então, quando fazer isso fora da grande biblioteca de
rasgos, basicamente, comparar ambas as senhas ou quando eu simplesmente disse, const, é senha. Bem, você vai fazer isso fora do grande dardo levity rasgar. Comparar Mentor sobre estes Basili retorna uma promessa que você vai fazer isso fora dele. Mantenha-o aqui. Em vez do quarto argumento, você tem que passar as senhas de texto simples então eu vou simplesmente dizer, insira sua senha. E em vez do segundo argumento, você tem que basicamente passou a senha hash para que possamos obter a senha hash da palavra bus filha
usuário. E se essa senha em particular não for valorizada nesse caso, eu posso vomitar. Então deixe-me simplesmente para o outro aqui em para a mensagem que eu vou simplesmente dizer palavra de
ônibus inválido em. Se a senha for Walid. Não, é hora de criar o token. Vou inventar dígitos e chorar a habilidade O'Connell de criar o símbolo. Então, simplesmente indo para lá terminal aqui. Só estou dizendo que a barraca do
PM estava quebrada. Então, como você pode ver, a instalação está feita. Então, indo simplesmente fechar isso, eu basicamente vou exigir esta biblioteca em particular. Então, quando eu disse Const, JWT ligou para exigir Justin Webb. Então você vai dizer const quebrado é igual a jwt sinal dardo sobre estas
cordas dançarino líder básico no argumento padrão. Você tem que passar a carga nesta carga útil é completamente visível mesmo sem a
chave secreta , então certifique-se de que você não colocar qualquer informação sensível aqui em tentar fazer sua
carga útil o menor possível, porque se você colocar um objeto pesado aqui do que seu tamanho token se tornará bastante grande e rosto humano em questão enquanto faz a conta chamada. Então certifique-se que você tem o Baylor o menor possível em Não coloque informações confidenciais aqui. Então, para o payload, eu vou simplesmente colocar o e-mail do usuário então vou simplesmente dizer, usuário dot e-mail. E no segundo argumento, você tem que fornecer a chave secreta para que eu vou acumular a chave secreta definida no arquivo de
envolvimento aqui. Vou nomear o cigarro de Kia JWT chave secreta sublinhado para o Velux Windows. Testes de invasor à direita. 1234 em Indo para usar esta chave em particular aqui. Então ir não coloca um segredo constante é igual a um festival. Eu vou ter que buscá-lo do meio ambiente. Variável ativada. Se ele não for encontrado vai fazer esta oferta a chave secreta Ford em Vamos nomeá-lo meu segredo K. Você pode nomeá-lo o que quiser para passar este segredo aqui e no terceiro argumento, você pode fornecer várias opções, como especialistas lá para reconstruir sobre isso vai basicamente são definidos em tempo de guerra. O quebrado vai expirar com isso. Onde está o primeiro? Fora da expedição preocupação dos bebês. Você tem que especificar o tempo de exploração em uma licença especial. Então deixa-me mostrar-te. Então, se você basicamente diz para o PM Jason Webb Kogan Page, basta ir até lá. E se você rolar para baixo, então, como você pode ver, aqui está o exemplo de como você pode passar a experiência muito boa. Então, como este formato funciona é se você basicamente especificar o número do que ele vai ser tratado como segundo. Se você basicamente especificar o número em, desligue uma string, simplesmente numerar não quaisquer unidades como o é nosso, exceto então ele será considerado como um milissegundo. E se você especificar as unidades em sete dias ou 10 horas, então ele será tratado como está, para que você possa ler mais sobre este ano. É hora do Mitt vir aqui agora. Eu vou definir o especialista E como um dia aqui, e finalmente eu vou simplesmente ler sob Erdogan Eu quero dizer Retorno para passar o token. É isso aí. Lembre-se que essa coisa é equivalente a isso. Estou usando o atalho seis. Então deixe-me encurtar isso. Também atualizarei a mensagem de senha aqui em Start off Invalidpassword. Vamos chamá-lo de senha incorreta em que faz mais sentido. Então deixe-me ver se isso agora e eu acho que nós estamos indo para ir lá para ir para o navegador em simplesmente a degustação fresca e aqui indo toe run mutação em. Vamos chamar essa operação como registro em log e gostaríamos de acessar o convite de log em. Em vez do argumento, você tem que basicamente fornecer o e-mail e a senha. Então deixe-me jogá-lo ou e-mail, que nem sequer existe dentro do banco de dados e vamos ver o que acontece. Então, por exemplo, se eu fornecer qualquer e-mail aleatório aqui, qual alguém existe no tipo de sistema sob empregou a senha também? Porque é um campo obrigatório na resposta. Posso esperar que estejam quebrados. E se eu ouvi isso agora que é novamente Veja ele diz usuário não encontrado. Agora vamos testar o login com o usuário, que existe em busca do banco de dados, mas passará a senha incorreta. Então, se eu for para o bebê agora, vamos tentar pegar John e Reggie Miller. Venha, então, aqui. Vou simplesmente dizer, John ed regimen dot com E,
por exemplo, por exemplo, se eu derramar penny senha errada Se eu acertar isso agora,
então, como você pode ver, ele diz senha incorreta. E finalmente, se eu puxei o e-mail correto e a senha correta em, deixe-me apertar isso agora, então, como você pode ver aqui nós temos o Jason rasgado aberto e como eu estava dizendo a vocês, que todo o conteúdo fora da carga Completamente visível. Então deixe-me apenas mostrar-lhe se você basicamente vai para a filha JWT, você em alguns basicamente baseado seu token aqui. Então, como você pode ver, a carga é completamente visível. Você nem precisa da chave secreta para ver as mãos da carga. Você não deve colocar qualquer informação sensível ou aqui. E se você está se perguntando se a carga é completamente visível, então como a doença e o réptil estão inseguros? Lembrem-se que o posto de saída do Jason Raspado não é para dados de segurança que este presidente insere nele. O propósito do Jason que estamos falando é autenticar negado, que está fazendo o pedido. Andi, é
isso pelo amor na autenticação nos vídeos do apartamento. Vamos usar este símbolo para proteger os nossos vários FBI. Mas é isso para este vídeo em particular. E eu espero que você tenha sido capaz de acompanhar. E muito obrigado por assistir este vídeo.
25. Contexte Resolver Contexo: Olá, todos em Neste vídeo, vamos falar sobre o terceiro argumento no resultado ou função, que é objeto de contexto neste contexto. Óptica é geralmente usado para compartilhar os dados comuns em todas as horas de resultado. Então, se você quiser compartilhar algumas das atrocidades, o estado de autenticação e várias outras funcionalidades que você deseja compartilhar com todas
as guerras resultado do que é melhor passá-lo como um contexto. Então vamos ver, Como você pode passar o contexto todo o resultado do nosso de sua
configuração Apollo várias ? Então vamos até aqui e aqui você tem outra discussão. Cordes Context neste contexto pode ser um objeto ou uma função em. Vou mostrar-lhe a diferença entre os dois, mas não vai usar o objeto. Então vamos usar a função. Então vamos supor que, em vez do contexto, eu quero passar o e-mail fora do usuário de bloqueio em como fora agora, indo duro tribunal este e-mail em particular. Mas mais tarde nos próximos vídeos estavam indo para o pé lá. Você vai usar e-mail aqui, que está bloqueado. Então, apenas para o bem fora de testes como eu no teste Mehlis na taxa Gmail dot com on go agora, este objeto em particular pode ser acessado dentro fora de qualquer fora do resultado para a função. Então, agora é suposto que queremos acesso a esta inserção de e-mail específica fora de um determinado usuário para vender uma função. Por exemplo, obtenha o usuário por 80. Então, como o contexto está disponível em vez do terceiro argumento em, eu estou indo basicamente a estrutura do e-mail a partir daqui. E deixe-me simplesmente adicionar os bloqueios do console se você pode ver corretamente. Então aqui, indo sozinho, Erdogan é um tronco. Então, quando eu digo consumido, não fazer logon, indo simplesmente treinar para e-mail aqui, indo para retornar o resultado. Então, deixe-me ver se está agora. Vamos para o navegador. Deixe-me refrescar isso. Vamos tentar diminuir a equidade nos chamou. Obter usuário aqui. Começou em torno desta pedreira particular aqui irá fornecer o argumento é, por exemplo, um na resposta vai pedir para eu d nome como Mary Tender e como fora não. Estas respostas provenientes dos dados estáticos. Mas mais tarde fomos substituir isso pelo modelo de usuário, mas muitas vezes vamos nos concentrar no contexto agora se eu for para o terminal deles. Então, como você pode ver aqui é o e-mail que recebemos do objeto de contexto neste
contexto particular . Objeto pode ser acessado. Inserir qualquer guerra resultado. Então eu espero que não, você entende o conceito de contexto. Agora vamos olhar para o uso de segundos aplausos, que é declarar o contexto como uma função, nem objeto. Então, se você for declarado que o contexto é um objeto, você pode rt neste mais tarde. Não é possível adicionar valores dinâmicos a ele. Então, este nível particular ao lado quando você viu mais começa em para pedido ET. Você não pode alterar esse valor. Então, deixem-me mostrar-vos pelo exemplo. Então, por exemplo, se eu adicionar o número da linha Matt Dark aqui, se eu ver se esta é a próxima agência que a cidade soviética começou agora o contexto é dito agora. Não importa quanto tempo eu acerte isso como uma pia, eu sempre vou ter o contexto como a mesma hesitação. Mas agora, se eu declarar esse contexto como uma função, ele será executado toda vez que houver uma solicitação AP. Garotas artesanais toady acabou. Então, se você quiser avaliar algo por solicitação base, então você deve declarar este contexto como uma função. Então vamos declarar este contexto como uma função em. O que eu vou fazer é devolver um objeto daqui em diante e mover essa coisa para dentro do objeto. Deixe-me ver se isso agora vamos para o navegador. E se eu tentar acertar isso 34 vezes, então devemos ver valores diferentes cada vez. Isso significa que este contexto está sempre em execução. E deixe-me quando eu tinha demorado tanto tempo aqui em não colocar um contexto executado Deixe-me ver se isso vamos para o navegador. Então, se eu ouvi este pedido 1234 vezes, então, como você pode ver, nós temos esse bloqueio de contexto quatro vezes. Então eu espero que agora você entenda a diferença entre declarar o contexto como um objeto. Função Warsis Andi. Geralmente, em um cenário real, você sempre declarará como uma função porque deseja avaliar algo em cada solicitação, como o estado de autenticação. Assim que o log do usuário for concluído para cada solicitação de AP, você deseja verificar se esse usuário está conectado ou não, ou se o usuário é valorizado ou não. Então você deve usar o contexto como um serviço de função. Isso é tudo para o conceito de contexto em uma espécie de gráfico meninas sobre. E eu espero que você tenha sido capaz de acompanhar e muito obrigado por assistir este vídeo.
26. Como verificar token e definir contexto de autismo: Olá, todos neste vídeo, vamos esperar. Se eu falar sobre isso será enviado pelo cliente gráfico e nós estamos indo toe disse o contexto de
autenticação. Ou ouvir visual dinamicamente obter a partir do coco descer pelo usuário. Então deixe-me mostrar-lhe como eles quebrados vai descer do gráfico vamos cliente Então, se eu ouvi este AP em particular que está registrando então, como você pode ver aqui é o token e tudo que você precisa fazer é simplesmente ir para as
decapitações extras em você basicamente enviar o republicano decente em vez do cabeçalho de cerveja alteração . E isso é padrão para como você disse o interior quebrado do cabeçalho de alteração. Então aqui, indo para algum lugar uma tradição e aqui no valor, indo passar o espaço da cerveja, o token. Então, neste formato, o avião estará enviando o token. Precisamos toe autenticar este token em nosso servidor e, consequentemente, disse que o contexto do usuário e se eles estão falando, é em muito do que o dedo alternativo retornou o ar. Então, vamos implementado agora. Então, queremos basicamente verificar este assumiu em cada pedido direito assim uma vez que os
resultados do usuário indicados nele tem o quebrado. Em seguida, para cada pedido que precisamos toe verificar o token em obter o usuário autenticado em vez de escrever toda a lógica aqui na função de contexto, eu estou indo toe separar o maior em uma espécie de pasta separada. Então deixe-me criar Dobrado aqui chamado como ajudante e inserir fora isso eu vou criar outra pasta chamada s Context On Inside deste vai criar um arquivo chamado US Index Tartous e você vai dizer modelo dot exporta dark check user on ele é vai ser uma função ondas off. Não vai simplesmente importar disfunção em colocá-lo dentro da função de contexto. Então deixe-me importado aqui, então vou dizer const e eu vou ter o muito para a função de usuário da saúde para
inserir pasta deste. Posso obtê-lo a partir do contexto. E agora eu vou ter a função de verificação do usuário aqui em indo simplesmente chamar disfunção do contexto porque nós queremos executar esta função, que vai avaliar o Justin rasgado aberto para cada solicitação gráfica. Então vou chamá-lo aqui. Então, vai simplesmente dizer verificar o usuário aqui, indo para passar o objeto de solicitação. E se você quiser ter acesso ao objeto request aqui, você pode obtê-lo a partir do argumento de função de contexto. E aqui no argumento de contexto, você tem acesso a vários objetos quando fora é o pedido. Objetos assim indo dedo do pé para reestruturar a óptica de solicitação a partir daqui indo para passá-lo para o usuário de
verificação porque o quebrado será enviado dentro do cabeçalho de solicitação. Então precisamos ter acesso ao objeto de solicitação pelo menos 2% para o Então agora vamos passar aqui e agora eu vou simplesmente controlar ou ser solicitado cabeçalhos aqui para que você possa ver corretamente pior, o valor fora do mesmo. Então deixe-me consolar Actus e vamos tentar acertar o pedido e ver o que conseguimos. Então, se eu for para o navegador e se eu acertar isso, por exemplo, obter a solicitação do usuário e se eu for determinar, então, como você pode ver, aqui está a informação do cabeçalho da solicitação, e dentro disso temos o token aqui no chave de alteração em Desvalor temos token espaço
cerveja, e isso é o que passamos a partir daqui. Então, vamos os federais fazer você falar do mais difícil, então aqui e diga Const, seja mais adiantado que eu posso obtê-lo com a autorização negra da Quest Dark Haider. E se o teatro o tinha for encontrado, então eu posarei para isso. Então aqui, indo simplesmente dizer, Const quebrado Andi,
Eu posso obtê-lo de dividindo a corda como Mila mostrar você tão solicitado. Haider alteração ponto Wilder-lo nesta uma corda. Então agora eu posso dividir esta primavera com espaço dividido. Então, qual vai voltar? São um contendo fora do item? O 1º 1 estará aqui no 2º 1 será o token em si. Então aqui, indo para simplesmente segundos, Taconic vai fazer ser uma divisão de ponto cabeçalho em curso exibido usando espaço de divisão em ir para acessar o primeiro índice. Então agora deixe-me diácono. Então, feche para o token. Então, quando eu disse token em ir para simplesmente console, registrá-lo aqui e deixe-me dizer isso, vamos para o navegador e tivemos isso novamente. Vamos ver o que acontece. Vamos chamá-lo de terminal então, como você pode ver, temos aquele aqui. E agora podemos usar esse token e verificado usando o JWT liberalmente. Então vamos importar a entrega geral. Ou aqui vou dizer que Const JWT quer exigir que Jason estivesse falando aqui. Vou dizer que o JWT não verifica. E em vez de verificar, você tem que passar a ficha deles. Então nós temos que falar sobre isso aqui no segundo argumento, você tem que passar a chave secreta para que possamos buscá-la do processo. Não inveje nem deixe-me pegar este cigarro Keenan daqui, que é a chave secreta JWT em Se isso não é divertido, então eu também posso passar o segredo padrão dado que é minha chave secreta, Onda. Assim que a verificação for bem sucedida, teremos Depay Lord. Então agora pegue as pessoas aqui e se a verificação falhar, então o JWT vai jogar o outro. Então vamos lidar com o outro. Então, vai adicionar uma tentativa fica bloqueio no caso de qualquer outro dedo do pé. Jogue a edição em também fazer no console fazer logoff o outro em ir mover tudo a partir daqui em vez de lá. Tente bloquear Onda, uma vez que temos a carga útil ou aterrou para fazer é simplesmente dizer, solicitar e-mail ponto é igual a um e-mail senhor ponto porque estamos definindo o e-mail ao assinar o token. Então, se você tem um olhar para o usuário é sempre sempre que basicamente tendemos, eles estão falando, estamos definindo os milhões da carga útil. Então, se a verificação for bem-sucedida, então a carga útil é realmente retornada a partir da carga útil. Estamos acessando o e-mail e configuração. Coloque o objeto de solicitação em Dhere, Indo para inicialmente disse que o e-mail de ponto de solicitação é igual a nenhum. E agora vou remover todo esse controle. Olhe a partir daqui e agora, Em vez deste prêmio lindo, Eu posso basicamente disse o e-mail do pedido ou e-mail em vez, fora desse e-mail estático Onda. Se a verificação falhar do que isso, e-mail será nulo. Como você pode ver, temos inicialmente túnel assunto, e se tudo correr bem, então os registros começam. E-mail será o e-mail realmente fora do usuário que desenvolveu aberto, então eu acho que estamos prontos para ir. Agora vamos testar isso. Mais uma coisa que eu gostaria de fazer aqui é toe fazer esta corrida muito longe usuário porque embora nós não estamos realizando qualquer tarefa aqui. Mas ainda assim você deve fazer disso uma coisa, porque talvez você queira fazer algum Mason convencido . Pergunte em seu caso unidade dedo do pé. Aguarde até que esta coisa resolva antes de definir o contexto. Então, mesmo que não estejamos realizando nenhuma operação de enfrentamento aqui, ainda assim, farei essa função atenuar Dhere. Você pode simplesmente longe sobre esta função, e você precisa fazer essa função de contexto. Issing para sair do outro curado. Então deixe-me ouvir isso. Agora,
vamos para o navegador em Vamos testar saber o que gerar. Então deixe-me ir ao navegador e eu acho que estamos indo para o Galatasary PS. Então, em vez da guarda, use a Arábia, nós já temos o controle. Demônio Lakoff. Agora devemos obter o e-mail do usuário conectado. Então nós realmente geramos isso quebrado com o Jonah Dread Gmail dot com. Aqui no registro do console, devemos pegar o Jonah Regimen Dot com. Então deixe-me ir até aqui e simplesmente acertar isso e me deixar ir para o terminal deles. Então, como podem ver, temos o Regimento de Jonah e se eu fornecer algo errado aqui, vamos ver o que acontece. Então, se eu colocar em um token, se eu bater isso novamente, então como contra aqui, ele diz token inválido na demissão é gerado pela biblioteca JWT durante a verificação aqui, como você pode ver. Então, se a privação falhar do que ele está indo dedo do pé ou o outro com a mensagem nas mãos estavam recebendo esta mensagem nele é mais uma coisa. O significado que é restringir o acesso ao crédito ou a mutação se não houver cabeçalho passado. Então deixe-me remover isso. Se eu acertar isso agora, então como você pode ver os dados obter. Então, desta vez não estamos recebendo nenhum outro porque um Z pode ver que temos aplicado. E se verificar aqui. Então, se a cabeça melhor não for encontrada, então não levamos nada. Por isso não há direção. E a criação do contexto é bem sucedida porque não há direção. Claro que sobre a solicitação, e-mail não é, então há várias maneiras de lidar. Ouça, você é o primeiro 1 é simplesmente verificar aqui. Como se o e-mail da missão gorp fosse não. Então você pode simplesmente jogar outro a partir daqui para que você possa simplesmente declarar através de uma nova era em que você pode passar a outra mensagem como acesso negado. Faça login, então continue. Mas isso não é uma boa idéia colocá-lo aqui porque este cheque vai se aplicar a todos e
cada Kredi na mutação, e nós não queremos verificar a sua fala sobre isso. E cada mutação, por exemplo, para o sinal. Não queremos que o símbolo seja possível. O usuário e também para o registro A b A. Nós não queremos que o token seja passado pelo usuário, então se você colocá-lo aqui, você não será capaz de ferir nenhum FBI sem o quebrado. Então vamos falar com o presidente assim. Como você pode ver, se eu apertar Enter diz Acesso negado. Faça login para continuar. Mas agora, se eu tivesse o amor em um B I, eu vou receber a mesma mensagem, que não deveria acontecer, e o mesmo para o Cenepa também. Então não é uma boa idéia colocá-lo aqui. Agora. Você pode pensar que devemos colocar essa inserção lógica fora comendo cada resultado em, por exemplo, os detalhes do usuário aparecem. Então se eu colocar isso aqui e aqui, Alexis, o e-mail nem o pedido, Jody Mills, porque temos o e-mail no contexto ou aqui. Então, se eu colocar essa coisa aqui e se eu for para o navegador e testar se eu tinha isso novamente, então ele diz Acesso negado Por favor olhando para continuar. E se eu bater no tronco Napier, ele funciona totalmente bem. Então esta é uma solução de trabalho. Mas não é uma solução eficiente porque, digamos fora 20 AP, você precisa garantir 15 AP, certo,
Então, em cada 15 dias de idade você tem que colar essa coisa e é um deputado para tribunal. Então, para se livrar desse cheque repetitivo dentro de fora comer cada resultado iria fazê-lo fora. O resultado, middleware ou combinado, é uma palavra que vamos ver no próximo vídeo, mas muitas vezes é isso para este vídeo específico para verificar o token ao obter o contexto ou o contexto. Então, muito obrigado por assistir este vídeo
27. Combine o middleware de Resolver/ Resolver: Olá, todos neste Ridulph, você está indo para implementar as guerras resultado comuns Ou você pode chamá-lo de um
middleware Weasel Palavras . Então nós queremos basicamente abstrair sobre esta lógica em Não quero repetir esta lógica em cada resultado. Em vez disso, queremos escrevê-lo em um lugar e será ele é em todo o meio onde, e nós vamos usar esse middleware em várias guerras de resultados para que esta lógica particular é abstraído para o único arquivo em. Não repetimos isto. Então, para implementar o resultado todo o meio onde eu vou fazer de nós uma biblioteca chamada como ferramentas
gráficas por todo o lado. Então simplesmente dizendo PM stall gráfico Você vai eu encontrei isso todas as palavras. Então, como você pode ver, a instalação é feita Não, fato, é todas as palavras pasta vai criar uma nova pasta modelo de Karla onde E em vez disso
vai criar um arquivo chamado tochas de índice dos EUA e aqui vai exportar um função Gardas é autenticado sobre isso vai ser uma função basicamente E desde que nós vamos usar esta função como ela está em todo middleware em poucos minutos ele terá acesso ao mesmo argumento que temos nos resultados normais. Então eu vou ignorar o objeto pai também vai ignorar as artes. O objeto está bem no contexto em que eu gostaria de buscar a fêmea. Eu gostaria de simplesmente remover a lógica daqui. Qual é essa de ir atormentada aqui no meio? Bem, então aqui está indo para o centro se o medicamento. Mas se o e-mail é normal, isso significa que a polícia está presente, então queremos chamar o próximo resultado de guerra. Então você pode chamar o resultado estavam usando o escape funcionalmente implantado pelas
ferramentas gráficas Todo o pacote. Então deixe-me importar a fuga do gráfico Crude está sempre aqui quando você simplesmente diz
escape feito . Então o que esta fuga fará é chamar os próximos resultados. Então, agora vamos para o arquivo Js porta do usuário e usar este particular é todo middleware água com as cidades de usuários por todo o lado. Então, primeiro de tudo, vou injetar. O cartão de utilidade combinou para resultar do gráfico vai dissolver palavra Então aqui vou dizer const combinado, Isso é sempre E eu gostaria de obtê-lo a partir do então depois porque todas as palavras e eu teria dito para importar estes autenticado é todo middleware de água. Então aqui vai dizer que const é autenticado sobre isso basicamente vem da pasta middleware e, finalmente, podemos usar o combinado está em toda a sua habilidade aqui. Então vou simplesmente dizer combinado tudo isso trabalho E no primeiro argumento eu vou fornecer o é autenticado este um meio inferior lá E no segundo argumento, indo para fornecer o usuário é longo e simplesmente indo dedo do pé fechar este suporte aqui. Então isso é tudo que você precisa fazer. Então, como você pode ver agora, a lógica de verificar o e-mail é afetada longe. Inserir fora o middleware é autenticado, que vai retornar o erro se o moinho é nulo e se for normal, vamos toe retornado escape em Este escape é responsável por chamar o próximo resultado ou qual é este. Então eu espero que você entenda agora e vamos fazer isso em vez do Boza. Então vamos para a residência e jogar o fresco. Então, vamos tentar verificar a funcionalidade de login primeiro. Então, se eu compareci como você pode ver, eu sou capaz de obter o token deles em. Se eu acertar o get geralmente ser sem. Idem. Vamos ver o que acontece. Então, como você pode ver, ele diz acesso negado por favor falando para continuar em Dhere Se eu passar, os estão quebrados na autorização e eles estão por perto. Então deixe-me simplesmente passar por aqui. E se eu ouvi isso agora, então, como você pode ver, eu sou capaz de obter a resposta disso sobre. Então era só isso que queríamos. Nós não podemos reutilizar este middleware particular em todos aqueles guerra resultado em que queremos verificar
a autenticação e nós não temos que escrever a mesma re proteger lógica em cada e cada resultado. Então eu acho que é isso para os resultados realmente foram. E eu espero que você tenha sido capaz de acompanhar. E muito obrigado por assistir este vídeo
28. ATUALIZAÇÃO: obtenha o usuário por ID: Olá, todos nesta sala. Você vai atualizar isso. Obter usuário por decreto. Tão pouco que estávamos passando. As idéias e argumentos são tão particular da Coreia que você pode ver em sua definição de tipo . Mas agora vamos usar essa consulta específica apenas para o usuário conectado. Então, se o usuário estiver conectado, ele pode ver seu próprio varejo em. Não há necessidade de passar a idéia porque podemos buscá-la a partir do estado de autenticação. Então eu vou remover essa idéia A partir daqui, eu também vou remover a lista de usuários AP como nós não vamos implementar isso agora nós
apenas implementamos para entender os conceitos básicos do gráfico. Então deixe-me remover isso também, e eu vou para o usuário está sempre no festival vai remover a consulta deste usuário e absurdo. Nós removemos o i d. Do argumento não há necessidade de usar este argumento em particular, então não, simplesmente ignore este em tudo que você precisa fazer é rebocar
disparado, equiparado ao modelo mongóis em dados guiados e iniciar fora desses dados estáticos que usamos para buscar anteriormente. Então, vamos remover essa coisa também. Não, ele basicamente está certo. D rapidamente. Então, quando um segundo usar seu dedo igual esperar o usuário ponto encontrar um e eu vou encontrar usando o e-mail para que eu possa sair do exército aqui em cima. Estou usando o atalho seis aqui. Então essa coisa é equivalente a isso aqui e, basicamente, pegue se o usuário não está indo para simplesmente levá-lo aqui. Andi, se isso for não, então essa condição será verdadeira. Então aqui vai dizer através de novo aqui vai dizer, usar um telefone norte e agora todas as apostas relacionadas com o usuário a partir daqui. E nós também somos como fazer esta função Issing porque estamos usando a outra palavra-chave em , bem gostado também no bloco de trackage aqui. Então eu vou pegar o erro em movimento tudo isso. Marcou dentro do bloco de experimentos aqui. Indo para simplesmente console de log theater em ir dedo do pé o erro para que isso parece bem em se você
tiver um olhar para a definição do tipo de usuário, então você vai ver que aqui A linha de colcha gráfico também pode creditado tarefa. Então, se você der uma olhada aqui no fundo. Em seguida, você vai ver o resultado da tarefa preenchido foram e como off aviso apontando para o
arquivo constante . Mas vamos substituir isto pelo modelo de “Task Mongers”. E se você está se perguntando que, por que precisamos desta tarefa resultado de nível livre foram então nós basicamente podemos preencher a tarefa mais tarde. Date por aqui usando o popular que importava. Então o que este elementar popular fará é que basicamente tomará toda a tarefa i d. do usuário. Os dados sobre ele está indo toe automaticamente obter todos os dados da coleção de tarefas que é uma coleção
separada, e é capaz de fazê-lo porque nós definimos a relação. Então, se você tiver uma olhada no modelo de usuário aqui,
então, como você pode ver, a tarefa é basicamente manter a lista fora de nossa tarefa. Eu d,
certo. E é um dedo do pé de referência, o modelo de tarefa que é definido aqui. Então, uma vez que você usar o método despopulate e especificar o campo em que você deseja aplicar despopulate que todas as idéias serão substituídas pelos detalhes da tarefa real, como o nome concluído usuário e ele vai ser um objeto completo em vez de Justin I. D. Então, é semelhante dedão junta-se que temos em sequela para que possamos data popular aqui em. Talvez não precisemos da tarefa para o nível, só
isso. O quê, por aqui. Mas há um par de deserto em dias de folga, preenchendo os dados bem aqui e começar resultando que eles retiveram. O nível livre acabou. E eu vou discutir sobre isso no vídeo dedicado chamado US Data Loaders. E vamos discutir isso um pouco mais tarde neste curso. Mas está desligado agora. Vou remover essa coisa popular aqui, e vamos entender que os executivos estão usando o nível livre dissolver ou aqui em vez de despovoar. Mas antes de remover como eu, apenas mostrar rapidamente como você pode, especialmente o campo que você deseja preencher. Então aqui, em vez de preencher a matéria, você tem que especificar a parte e a parte interna. Você tem que espaço para o sentimento que você quer preencher. Normalmente, este é o campo no qual você definiu o relacionamento. Então aqui, indo dedo do pé simplesmente disse Tarefa E ele vai realmente preencher esta lista de tarefas fora de idéias com o objeto tarefa real. Então lá dizer que você basicamente fazê-lo em. Deixe-me remover isso agora, já que você não vai usar isso agora, vamos nos concentrar no resultado livre nivelado foram então aqui vai remover isso como nós vamos
fazer isso fora do modelo de mongers tarefa. Então deixe-me, antes de tudo, importar o modelo aqui. Eles vão dizer, Const. Crepúsculo sobre isso basicamente vem de banco de dados barra modelos barra barra tarefa em Dhere. Vou simplesmente dizer que o crepúsculo do const é igual ao dedo do pé, esperar que não encontremos. E em vez disso, vou procurar basicamente o campo de nível de usuário, que é presidente. Inserir o modelo de tarefa em ir passar a idéia aqui que podemos buscá-lo a partir do objeto
pai E agora eu posso fazê-lo sob tarefa em ir dedo do pé embrulhar tudo dentro fora do bloco de crianças
secas em gostaria de mover isso aqui no bloco try indo para simplesmente consola registrar os outros aqui em indo dedo do pé para o outro em. Vamos fazer esta função Issing para sair do outro curado. E agora, uma vez que não estamos usando o usuário e o relatório de restrição de eventos para os motivos a partir daqui e sim, eu acho que isso parece bom deixe-me ver se isso vamos para o navegador e o novo em ir para remover esta ideia a partir daqui porque não estamos mais a usá-la. Então, vai remover essa coisa no primeiro dedo terrível indo bater o log no dedo IP EI. Consiga a ficha em “Indo para passar esta piada no caminho para cá”. Eu sei que se eu ouvir o usuário Rabia a residência, eu pego os detalhes do John. E agora vamos Fred Logan com outros usuários. Por exemplo, Cabinet the Red Demon Lord. Calma indo dedo do pé. Faça login com Kevin e regimen dot com. Acerte isso. Como você pode ver, nós temos lá conversando para o usuário Kevin passando por este token particular aqui, indo simplesmente colar isso se eu ouvi isso agora,
então, então, como você pode ver, eu recebo grandes bobinas fora do Kevin aqui. Posso obter mais detalhes, como o e-mail. Eu também posso obter a tarefa e do nós novamente Selecione diferenças sociedade eo nome em. Embora você não esteja tendo a tarefa, está fora agora, mas ainda vai simplesmente acertar isso. Então, como você pode ver, estamos recebendo todos os detalhes junto com a tarefa. Então, uma vez que implementamos a tarefa,
em seguida, nós também vamos ver sua tarefa sendo preenchida aqui para este usuário em particular . Então essa é a viagem deles para este vídeo em particular sobre morrer. Espero que tenha sido capaz de acompanhar. E muito obrigado por assistir este vídeo.
29. ATUALIZAÇÃO: crie mutação de tarefas: Olá, todos no vídeo, vamos operar. Eles criam mágico tarefa. Então, se você der uma olhada na definição de tipo em vez da tarefa, então como você pode ver aqui é a expedição Cato. E aqui está a entrada. Então aqui nós também estávamos recebendo a idéia do usuário a partir da chama gráfica. Mas desta vez não vamos fazê-lo porque o usuário conectado pode criar sua própria tarefa
em Desde que estamos tendo as informações de autenticação sobre o usuário conectado, podemos buscar o uso pronto a partir do próprio banco de dados. Então não precisamos que essa coisa em particular seja aprovada por declamada. Então eu tenho basicamente atualizando para o tipo para o mágico criar tarefa. Agora, vamos aqui e vamos remover tudo daqui em diante. Deixe-me importar o modelo de tarefa. Então, quando eu disse que Const faz de acordo com a exigência ,
eu vou buscá-lo do grande abismo. Vou dizer const assim igual, fazer nova instância fora de seu modelo de tarefa. Dentro disso, vou espantar todo o objeto interno do friso reitor colocou. E que também foi o uso já na sensação do usuário para tarefa visitada é criado. Então, se você tiver uma olhada no modelo de base de dados da tarefa,
então, como você pode ver, estamos basicamente iniciando estes já no campo de usuário em vez do modelo de tarefas. Então aqui eu posso obter estes prontos, buscando o usuário de seu banco de dados usando o
objeto de contexto , porque no objeto de contexto, nós temos o e-mail do usuário. Então aqui, vou simplesmente dizer e-mail aqui. E também importaremos o usuário Modelo aqui. Então, vou dizer const. Usuário é igual a dois necessários. Vou pegá-lo de bancos de dados, mortais, usuários aqui. Eu vou dizer usuário const necessário para isso. Usuário dardo, encontrar um em ir passar o e-mail aqui em um assim que eu começar o usuário vai passar a idéia ponto
usuário aqui. Então, espero que isso faça sentido. E eu também sou janela jogado. O Izzat indicou Middlebury aqui. Então deixe-me injetar isso. Então você vai dizer Const é autenticado e eu posso basicamente obtê-lo a partir do meio onde pasta em gostaria também importante, combinado é mais. Então, quando eu digo combinar é sempre e eu posso obtê-lo a partir do projecto. Você vai resolver horas em Dhere vai usar os comandantes mais. Então, vou dizer, combinados estes overs e indo para passar estes autenticadores são mais baixo meio melhor aqui e no segundo argumento gostaria de ter o resultado sobre si mesmo em ir simplesmente fechar este colchete. Então, espero que isso faça sentido. Então, agora que temos o objeto tarefa pronto, vamos saber, implementar o mesmo método em suas tarefas, Owona disse, Const resultante dedo quadrado Oh, espere. Crepúsculo, Mar
escuro. Isto irá realmente salvar a tarefa dentro da data deste no O que eu gostaria de fazer é assim que eles tarefa é salvo em vez do banco de dados, eu gostaria de empurrar esta tarefa recém-criada eu d dentro do usuário. Então deixa-me mostrar-te. Então, se você tiver uma olhada no esquema dos EUA Então, assim que este novo for escalado para o usuário conectado , eu gostaria de armazenar a nova tarefa que eu d inserir fora desta tarefa. Então aqui, vou simplesmente dizer, teste de porta
do usuário arbusto escuro e eu vou empurrar o deserto ou eu d em frente. Esta é, na verdade, a tarefa. 80 em Temos o objeto de usuário disponível aqui e finalmente vai chamar a venda de pontos do
usuário com excesso de peso . Então lá. Então eu preciso continuar finalmente indo para retornar a nova tarefa maior de volta ao rascunho. Garotas alinhadas. Gostamos de colocar tudo dentro da rachadura. É bloquear em ir log console do dedo do pé, o erro em também ir dedo do pé, Eu disse ao outro, e nós gostamos de mover tudo a partir daqui dentro fora do bloco try. Então, sim, eu acho que nós vamos. Deixe-me salvar esta escola principal para o navegador Onda fresco. Então eu acho que há algum outro vamos assumir o terminal. Ele diz que só é valorizado na função de manutenção. Tantos dedos declaram esta função como você pensa. Salve isso de novo. Vamos para o navegador novamente. Agora vamos para a sua tarefa Um cais em ir para remover essas consultas existentes a partir daqui como nós não
estamos usando-o em vai usar esta mutação particular, que escape tarefa sobre ele é basicamente dizer que o usuário de Eddie se sentir tão indo remover isso desde que você operou este esquema para o mesmo e sim, eu acho que isso parece bom como a minha cabeça, não
há nenhum vamos ver o que acontece. Então diz “acesso hoje à noite”. Faça login para continuar. Isso é esperado porque não fornecemos os decapitadores extras. Então simplesmente copie os pastores daqui na rua. E agora, se eu ouvi isso então como agência, nós temos a nova tarefa criada. Agora vamos ao banco de dados verificar. Então, aqui estou eu indo simplesmente para o rosto fresco. Então, como podem ver, temos a coleção de tarefas deles aqui. E como você pode ver aqui nós temos a tarefa recém-criada que tem o nome do
status de barras e o usuário pronto para Com esta tarefa escalada, precisamos verificar mais uma coisa que você fez aqui é toe empurrar este particular tarefa 80 toe o usuário Tasca. Então esse usuário é basicamente criado para, eu acho, excluído para o Kevin. Então vamos para a cabine e verificar se este 3416 foi empurrado. Então eu vou para a sua coleção e deixe-me refrescar em abrir este Kevin aqui, então, como você pode ver em vez da tarefa. Muito para o Kevin, temos a 3416 tarefa 80 que é empurrada aqui no Lex. Frederick faz isso com outro usuário. Então, por exemplo, se eu me distritar para o John Então deixe-me, primeiro de tudo, pegar o token para o John. Vou reunir corporatistas no Sr. Door aqui no, uh, o que eu vou fazer é nomear a tarefa como, por exemplo, compras. Acerte isso. Como você pode ver, esta escola nerd criado analfabeto, desempregado vai para sua tarefa, seu fresco que está contra você. Aqui é criado compras. Aqui está o usuário i D, que é dedo triplo ver com o qual é o já fora do John. Vamos ao John Refresh. E se eu ver o registro de John do que sua agência, sua tarefa está sendo empurrada com a nova tarefa maior pronta. E uma última coisa que eu gostaria de fazer é rebocar. Adicione o campo criado em e a sensação atualizada dentro da definição do tipo de tarefa. Então deixe-me apenas ir para a definição da tarefa aqui. Indo dedo do pé articulado que e ele vai ser off tipo o assassino de decks personalizado em. Além disso, a atualização sobre isso também será fora do tipo personalizado datas killer. Então eu estava lá, exceto por este vídeo em particular e espero que você tenha sido capaz de acompanhar. E muito obrigado por assistir este vídeo.
30. ATUALIZAÇÃO: liste a tarefa e obtenha o ID: Olá, todos neste vídeo, vamos implementar lista de preocupação em ser perguntado por ID Equidade Agora, antes de escrever os resultados da consulta para o mesmo, Eu gostaria de também adicionar o usuário conectado pronto em desligar o contexto porque uma vez que maioria dos nossos resolver guerras, vamos precisar do usuário conectado i d para executar várias operações. Então, em vez disso,
ao buscar estes prontos a partir do banco de dados usando o e-mail de usuário logado na maior parte do resultado levaria simplesmente, idealmente em vez do contexto, e ele estará disponível para todas as guerras de resultado. Então vamos para o contexto agora aqui. Primeiro de tudo, vou dizer que a busca do amor sombrio já foi usada e respondida eternamente. Agora aqui vou sair do modelo de usuário. Então aqui vai exigir o modelo de usuário. Então, quando eu disse usuário const necessário exigir e eu posso obtê-lo a partir do w slash mortais barra usuário e agora heróis. Um usuário const é igual a aguardar o usuário escuro. Está bem aqui. Eu basicamente passarei e-mail em nós não podemos obtê-lo de portas de carga e-mail no Dhere. Teremos as informações sobre os usuários. Então, aqui podemos dizer que as solicitações estão bloqueadas está pronto é igual à idéia ponto do usuário que certeza eles estão resolvendo isso para fazer em. Vamos para este outro mundo ou dois anos em Dhere seguindo nosso dever em uma espécie de contexto. Então aqui vou dizer que Logan já está ligando para pedir início de registro está pronto. Então você, agora que temos isso pronto, temos acesso ao registro está pronto em cada trabalho de resultado. Agora vamos postar para isso com escrever a lista fora encarregado com a palavra. Agora, ambas as consultas só podem ser realizadas pelo usuário conectado. Então, vamos adicionar um não é indicado. Há um monte de meio onde o barco fora deste crédito. Então, vamos simplesmente copiar sobre ir dedão importunado aqui. Deixem-me simplesmente fechar o disco aqui em que vamos fazer o mesmo aqui. Deixe-me fechar o Beckert aqui. Não, primeiro de tudo, vamos andar na lista fora tarefa é sempre agora aqui. O não só deseja executar este trabalho resultado em deixar esses jurados autenticados, mas queremos retornar apenas aquelas tarefas que Vitor criado pelo usuário. Então, para isso, vamos precisar que o trancado está pronto. Então aqui eu posso obter isso do objeto de contexto. Então, vamos ignorar o objeto pai vai ignorar o objeto poderes está bem e do objeto de
contexto eu posso ser estruturado o amor que está sendo usado já que nós dissemos que interromper o contexto E agora podemos usar este 30 tomado em todas as tarefas que estão associados com o usuário logado Então nós vamos simplesmente dizer, const assim ele vai fazer uma tarefa de peso não encontrar E eu posso basicamente encontrá-lo no
campo do usuário porque é aqui que a idéia do usuário é armazenada e eu posso basicamente nos positivo lobbying está pronto. Portanto, não é bastante simples. Vamos fazer isso fora do funcional de flexibilização aqui. Já que estás a usar a palavra “r “, deixa-me ir ao bloco de destroços também. Então, no caso de qualquer outro dedo do pé, simplesmente console, registre o erro em ir para o outro. E agora eu gostaria de mover esta declaração para cá. Não, aqui vai simplesmente devolveu uma lista de nós. É tudo o que precisamos para isso. Acho que este crédito em particular está pronto. Agora vamos trabalhar na tarefa de ser encarregado por eu. Saia agora. Em vez disso, precisamos cuidar de duas coisas. Nós tomamos cuidado fora da coisa de força, que é verificar se o usuário está autenticado ou não. Mas quando também se o usuário que está solicitando os detalhes da tarefa é realmente o criador fora dessa tarefa específica, por exemplo, foi John criou uma tarefa específica, e vamos levar Kevin tentar existir o John tarefa. Ele não deve ser capaz de ver. Portanto, precisamos verificar melhor o uso pronto em sua tarefa. Está disposto a isso? O trancado está pronto, e precisamos fazer isso para várias de suas operações, bem
como, por exemplo, atualizar uma tarefa ou acreditar na tarefa. Então vamos supor que, John e Kevin ambos de alguma forma têm acesso à sua tarefa um ao outro I D. Mas devemos restringi-los, são relacionar uns aos outros tarefa porque eles só devem ser capazes de excluir sua própria tarefa. Então, precisamos de alguma forma verificar o proprietário da tarefa. Então, para isso eu vou criar um middleware porque nós vamos usar essa
lógica particular em áreas da operação também. Essa é uma tarefa delicada. Estão operando a tarefa. Então aqui no meio, onde eu vou criar uma função chamada como ISP Ascona então vou dizer modelo ponto exportações ponto é proprietário da tarefa neste vai ser um resultado formalmente função hepática. E aqui dentro há um monte de dinheiro que temos os mesmos argumentos disponíveis que temos sobre o normal para resolver funcionaria até agora. Então vamos ignorar objeto dependente. Em seguida, a partir do assunto são, eu estou indo toe luta a idéia de que o usuário irá fornecer para o qual ele quer obter os detalhes sobre. Finalmente, a
partir do objeto de contexto, eu posso obter o não foi usado já e agora podemos basicamente verificar se o novato local é o proprietário da tarefa. Então aqui, indo toe festival importar o modelo de tarefa alguém como um const. Tarefa é igual a dois necessários e eu posso obtê-lo a partir do banco de dados modelos barra barra tarefa em aqui . Posso dizer que o crepúsculo do const é igual à taxa de loja. Assim dardo, encontrar por 80 e eu basicamente passarei sua tarefa pronto aqui. E eu também vou fazer essa função. Você pensa aqui? O que vou fazer é simplesmente verificar se a tarefa não foi encontrada uma vez. Se a sua tarefa não é que eu posso simplesmente fazê-lo para o outro. Então, quando eu disse através de uma nova era em ir passar a mensagem de erro como poeira, não telefone e agora podemos tomar o proprietário da tarefa. Então aqui, eu vou dizer e porta presa segura para o usuário não é igual ao logado está pronto. Então sabemos que ele não está de acordo. Não, simplesmente, não jogue o outro aqui. Vou ver a mensagem como não ou rastreada como lascuna. E uma vez que a tarefa que o usuário estará em uma objetividade real e amor ser está pronto a string. Então vamos converter essa ideia de objeto para string usando a matéria de string dois. Portanto, há competição funciona bem. E se toda esta condição falhar,
em seguida, indo simplesmente retornar o escape que vai chamar o próximo resultado agora vai usar este Middlebury particular em vez da consulta tarefa. Então, primeiro de tudo, deixe-me exigir este middleware. Então quando eu digo é Toscana e eu acho que eu também posso adicionar o bloco de destroços aqui. Então deixe-me adicionar rapidamente isso em ir para mover tudo a partir daqui em uma espécie de bloco tribo em frente, indo simplesmente para o outro e também indo toe console Log teatro em Finalmente, eu vou usar Este é o proprietário da tarefa é tudo normalmente Onde por aqui. Então, espero que isso faça sentido agora que possamos finalmente alimentar informações sobre tarefas a partir daqui. Então, quando eu disse que Const faz igual a cima, ele começa a encontrar por 80 em ir passar a idéia aqui que nós podemos obter do
objeto de arte e aqui vai simplesmente grande tarefa Dundee é isso. Vou usar o bloco de suportes. Deixe-me mover essa coisa para cá. Vou consolar no outro e gostaria de ir em direção ao outro também. Então, quando eu disser jogue, é
isso. Então agora vamos para o irmão em teste e como montagem. Refresque isto. Eu acho que há algum outro Deixe-me verificar em vez de seu terminal eso o ele diz que
só é válido no sábado em função na linha 22. Então vamos com 22. Certo, então precisamos fazer essa função. Eu acho que sim. Deixe-me ver esta grande escola com navegador e atualizar novamente. Acho que esta equipa está a trabalhar. - Tudo bem. Não, deixe-me simplesmente Dundee Equity em I inclinar a operação é obter a nossa tarefa e gostaria de pegar
a lista fora da Tarefa primeiro em, nós queremos obter o i. D. Nós queremos obter o nome. Queremos obter o status completo também. Então deixe-me ver isso agora para que ele diga acesso ao registro United Place para continuar. Então vamos pegar seu tokcan para um usuário em particular. Então eu gostaria de pegá-lo para o John. Deixe-me colocar este registro em um ponto A. Temos essa conversa aqui. Indo para copiar isso gostaria de adicionar a alteração ouvida aqui. Então vou vender uma transição bem além do interior quebrado do Beerer. E agora, se eu tivesse que entrar na tarefa, então, como você pode ver, nós temos todas as coisas que criamos. - Não. Vamos adicionar mais tarefa e teste. Por exemplo, se eu disser projeto completo se eu tivesse isso como uma tarefa de concerto é criado. Se eu não entrar em uma tarefa, como você pode ver, uma gardênia nos libertou e há mais uma coisa que eu gostaria de mostrar. Use isso. Por exemplo, se eu criar a tarefa para o Kevin em, em
seguida, se eu basicamente pediu para a lista fora tarefa, nós não devemos obter a tarefa que é criado pela caverna em. Então vamos testá-lo agora. Então, por exemplo, se eu tomei um para o hit do Kevin, este hit deve ser aberto para as cópias do Kevin em Going toe importunado ou aqui. Primeiro de tudo, deixe-me bater este Guettel Dusk Então, como você pode ver, nós temos alguns diferentes nós para dar. Agora, por exemplo, se eu pudesse ouvir a tarefa para o dado, como, ah, trabalhar fora tinha essas tarefas hesitantes criadas. Se eu não conseguir todas as tarefas, então só teremos a tarefa que é criada pela própria cabana. Certo, se eu mudar a conversa para John e se eu tivesse essa gravidez, teremos a lista de tarefas, que são apenas associados. Idem cadela em nenhum natural superou o corpo get singletons. Então, aqui. Vou ver a equidade obter esses corpos em vez disso gostaria de executar a consulta de tarefas para o i. D. Eu gostaria de passar as idéias. Por exemplo, este aqui Deixe-me simplesmente copiar este apodrecido aqui. E eu gostaria de obter um único nome de tarefa concluído status. E como você pode ver, eu chamei Dick Daley assim que eu odeio, e eu posso pedir para o criador que uma pausa diretamente também. Esta residência. Eu tenho os resultados. Deixe-me tentar por alguém. Por exemplo, este fazendo compras. Deixa-me ter isto. Agora, como você pode ver, estou recebendo esse conhecimento para buscar o hospital, que é criado pelo Kevin. Mas estamos enfrentando isso usando a credencial do John. Então, deixe-me continuar. Eu vou pegar a tarefa que eu d, que basicamente pertence ao Kevin. Então deixe-me simplesmente copiar se eu tentar acertar isso. Agora, vamos ver qual delegado? Então, se eu conseguir isso, como você pode ver, ele diz que não ou tenta é Toscana porque Johnny está tentando acessar a tarefa de Kevin. Então este cheque também está funcionando bem. E há mais uma coisa com isso. Restante é simplesmente eu tinha o nível livre de usuário dissolvido porque, como você pode ver atualmente, não
podemos buscar as informações de nível de usuário. Então, como você pode ver, ele não está funcionando porque nós não implementamos os resultados de nível livre para o tipo de tarefa. Então vamos ao tribunal, pesa, olhou o fundo e aqui vai remover isso aqui, teremos acesso ao objeto pai. Ele terá acesso ao objeto de teste no pretell CoreLogic. Deixe-me simplesmente agarrá-lo da tarefa aqui em ir dedo do pé. Hastert, aqui em
cima, embutido no modelo de tarefa para usuário, terá a idéia de objetos pais de outros usuários de ponto pai porque o usuário se sente sobre a tarefa. Objeto está realmente segurando estes já. Deixe-me mudar o nome aqui. Em curso. Putin também está aqui. Então eu acho que isso parece bom. Vamos lá. Mas o navegador concurso fresco. Então eu acho que há algum erro. Ok, eu entendi. Precisamos fazer isso funcionar, você acha? Veja se isso vamos para o navegador e fresco novamente em Deixe-me tentar machucar isso agora que como você pode ver, nós podemos obter estes. Sua informação é bem para que eu possa pedir o e-mail do usuário que está associado a esta tarefa
particular. Posso pedir outros campos também, como o nome do usuário e tudo relacionado ao usuário. E o mesmo acontece com os guetos por ideias. Bem, eu posso pedir as informações do usuário aqui é bem assim, por exemplo, se eu pedi o e-mail e bater isso agora Então deixe-me obter a austeridade correta para o qual o John é o criador. Então vai acertar isso de novo? Por exemplo, se eu conseguir essa popularidade na rua aqui e se eu acertar isso, então como você pode ver, eu posso pegar as informações do usuário também. E novamente, se você está se perguntando que, por que precisamos do nível completo dissolver nosso quando podemos basicamente preencher o uso de uma
informação de nível aqui usando o populated importtered em fornecer o campo que está indo para preencher, como o próprio usuário. Então, novamente, como
eu disse, vou discutir sobre isso no vídeo Data Loaders. Ele vai dar uma olhada mais tarde no curso, mas está desligado agora. Ir não brinca. Remova isto. Vamos manter-nos diferentes. Nível acabou e eu acho que podemos melhorar em mais coisas. Então, por exemplo, se o usuário desde a tarefa pronto que não é dividido objetividade, então vamos ver que tipo de mensagens retornadas por esta hora. Então vamos para o mais perto e, por exemplo, se eu digo qualquer aluguel um poderoso que não é uma objetividade válida. E se eu acertar agora as redes de novo, Staved diz. Elenco dedo objetivamente sentir para o valor. Então esta área é basicamente jogada pelo banco de dados mongo. Então, será melhor se podemos esconder isso deve detalhar apenas implícito que a idéia de que
é assinado pelo cliente gráfico é inválido. Então vamos fazer isso agora. Então eu vou basicamente ir para o resultado de middleware no Dhere. Nós podemos basicamente verificar se as idéias de idéia objeto valorizado ou não, e você pode verificá-lo usando o pacote mangusto. Então, em vez de levar isso aqui, vou criar sua habilidade ou o método auxiliar no qual podemos usar. E é tudo palavra nem decidir este lugar. Então aqui dentro que eu estava segurando Nós temos um arquivo util. Então, em vez deste utilitário, eu vou criar outro utilitário. Parlous é objetividade valorizada. Então, quando eu digo modelo Lord Export Dart é valorizado objetividade sobre isso vai ser uma função aqui. Nós podemos simplesmente retornar o tipo porta mangusto objeto escuro realmente é válido. E você poderia basicamente passar o i d. Então vamos passá-lo como um parâmetro aqui em ir simplesmente passá-lo por aqui. E ele vai simplesmente isso em nosso valor de barras, verdadeiro ou falso, Se o objeto que é onde você não sabe, Phillips usou este método utilitário particular aqui em lá é sempre então deixe-me importar este questão de utilidade. Então, vou dizer Const, ele é objeto valioso. Eu d e eu posso basicamente obtê-lo a partir dos dados em ir para a pasta utilitário não basicamente usado este assunto aqui. Então, quando eu digo se seu objeto de aldeia está pronto para passar 30 e se este Retton cair. Então eu estou indo para o outro, vou dizer através de novo em ir passar a mensagem como inválida Dallas Katie. Então, espero que isso faça sentido. Então, em vez de enviar o usuário deste tipo de custo de mensagem para objeto, eu sinto que ele vai estar ciente de que se nós pudermos enviar esta mensagem Então deixe-me dizer isso em. Vamos acertar isso de novo. Como pode ver, temos a mensagem certa. E não, se eu passar a versão correta deixe-me apenas cópias apodrecer aqui e ouvir isso contra nós estamos chegando lá. Então, há sentar para este vídeo em particular E eu espero que você foi capaz de acompanhar e muito
obrigado por assistir este vídeo.
31. Atualização/modificando a mutação de tarefas: Olá. Todos neste mundo vão implementar a imitação da tarefa de atualização. Então vamos para a atualização civil do esquema. Então vamos implementar as palavras da alma. Então eu vou para a tarefa. George está aqui. Ollie, crie outro mágico chamado Atualização de Tarefa. E aqui nós duramos para o TPIJ, que será inchamável. E o resto do campo pode ser enviado em vez do objeto de entrada. Então, vai criar outro tipo de entrada carro menos atualização entrada tarefa sobre ele será não um nível Isabel e, em última análise, este indo dedo a pé sobre a própria tarefa. Agora vamos criar a atualização de fita de entrada dos EUA. Então, aqui vai dizer objeto de entrada perguntando pé em Dhere O usuário em causa campos, tais como nome que será off tipo string no concluído que será off tipo de barras e que é eliminado em. Estamos mantendo ambos fora deste campo como em um pouco porque os usuários poderiam
atualizar qualquer um dos diferentes individualmente. Então agora vamos para o resultado estavam aqui indo para criar outro é longo. Cordes, atualize o Dusk em ir para passar os comandantes todas as palavras aqui indo para passar estes intermediários
autenticados, bem como o middleware proprietário da tarefa. Então teremos o resultado ou a função. Então aqui, dentro destes função oliva, vamos deixar a tarefa I d e o objeto de entrada para que possamos obtê-lo a partir do argumento Objetos estavam indo para ignorar o objeto pai em ir para reestruturar e obter o ID e o objeto de entrada do objeto argumento em Dhere indo dedo do pé Simplesmente dizer const crepúsculo é igual a toe dele tarefa dardo encontrar por i d e atualizar. Então eu vou usar este método porque isso não só atualizar o registro, mas também retorna a todos os sentimentos fora de sua para guardar as mãos Eu escolhi este assunto. Há elementos de nível é bom para operar Então a partir de agora aqui vai passar o I d. Então você tem que passar os campos que você deseja atualizar. Então eu estou indo toe espalhado sobre o objeto de entrada em, finalmente, nas opções extras que eu
vou passar opção chamada como novo e irá especificar Devalue s true. Então o que isso vai fazer é que ele vai me dar o último registro operado que é o
que acontece é que sempre que você atualizar qualquer fora do campo e se você não especificar isso, então ele vai devolvê-lo o Oldfield em. Se você está orgulhoso da gordura, segunda vez, então ele lhe dará o campo de atualização. Mas se você passar este opcional particular aqui do que ele vai para a direita sobre, dar-lhe os campos atualizados. Então agora você vai simplesmente ter feito a tarefa deles em ir ao encontro, certo? Obtém bloqueio aqui por jogar em log preocupação. Vou copiar este dedo do pé em curso importunado aqui para mover toda esta entrevista, tentar bloquear e eu acho que eles estão indo para ir. Nossa mutação está pronta. Então vamos falar com Lou Groza em carne e osso. Então não, aqui, vamos executar outra mutação chamada como objeto nós. Então vou dizer mutação Atualização crepúsculo e aqui estão basicamente pedir as grandes toneladas. E mesmo se você verificar os cães, então você vai ver que uma nova adição vai mostrar que é depois da tarefa aqui, e você pode obter todas as informações sobre o mesmo aqui. Quero dizer, passou a idéia aqui em cima deixe-me copiar a idéia de agora em diante importunado para aqui e em vez da entrada sobre ele, para passar os campos que eu quero atualizar. Então vamos supor que eu quero toe atualizar o campo completo e ele basicamente disse, é verdade em Em resposta, deixe-me pedir o i d Let massa com o nome Litmus foi concluída, e ainda assim isso parece bom em Deixe-me bater isso. Agora, então, como uma opinião considerada é verdade. Deixe-me basicamente tentar obter toda a tarefa nisso. A agência Nez, os Streeters completos, eles disseram, “ Verdade”. E vamos ler atualizar ambos defesa. Então aqui eu vou passar o nome como, por exemplo, compras on-line em se eu ouvi isso. Agora, como você pode ver, o nome também é operado e pouco para tentar. Alguém não sabe onde estamos errados. Pronta? Vamos ver o que acontece, diz no Willy. Tarefa pronta no dedão luta desafiada basicamente passou sua tarefa pronta fora do kevin. Então deixe-me ir ao banco de dados. A tarefa está pronta para fora da cabine com sua nova tarefa. Deixe-me ver cópias aqui coladas aqui. E se eu tentar atualizar o Kevin encarregado com a credencial da madrugada. Vamos ver o que acontece. Por conseguinte, não está autorizado como Toscana. Então não há pontuação nos jovens. É isso para este vídeo em particular. E eu espero que você tenha sido capaz de acompanhar. E muito obrigado por assistir este vídeo.
32. Apagar a mutação de tarefas: Olá, todos nesta sala vocês vão implementar o delicado mágico tarefa. Então isso é atualizar a filha skim aqui punhado e aqui vai adicionar a tarefa tardia e nós duramos para i d. como um argumento que será conhecido. Um rótulo sobre isso vai retornar o objeto crepúsculo. Não, vamos para o resultado em Dhere em uma espécie de objeto de mutação indo em direção a outro mágico chamado como negociá-lo crepúsculo e novamente vamos usar o combinado é sempre dedo do pé. Há um monte de meio onde então você está indo para adicionar os resultados indicados vamos também
no middleware canto passado e, finalmente, teremos o resultado da função para este mágico
particular em que vamos levar a tarefa 80 dentro deste particular é longo. Então eu vou obtê-lo a partir do objeto argumento. Então, indo para reestruturar o objeto argumento e obter a idéia aqui em heróis Segundos faz igual a dedo um pouco cão tarefa encontrar por idéia e excluir em ir passar. A idéia de que estamos aqui neste assunto não só vai relacionar a tarefa, mas também vai devolver os campos que estavam lá para a tarefa militar. E agora precisamos fazer mais uma coisa, que é excluir essa tarefa específica do disfarce do usuário. Então, se você tiver uma olhada na base de dados,
então, como você pode ver 40 John, ele tem que cascata em vez de sua tarefa. Continue assim que esta tarefa for diluída. Devemos remover esta ideia de tarefa daqui. Também grande porque se não excluí-la, então teremos uma maior informação em espécie de nosso banco de dados. Então vamos adicionar a lógica para o mesmo. Então aqui vai dizer Aguarde usuário Dart atualizar um on. Primeiro de tudo, eu gostaria de encontrar o usuário usando o sublinhado que eu sinto então aqui irá especificar a
segurança Andhra aqui eu posso passar o logado já é que eu posso obter a partir do
objeto de contexto . Então, vamos pegá-lo daqui a seguir. Queremos retirar esta tarefa específica pronto a partir da tarefa. Então, para isso, eu vou fazer isso fora do operador de piscina e aqui l especificado Ifill a partir do qual queremos encostar o eu d no agora espaço financeiro com o i d que queremos retirar com este passado 40. Espero que isso faça sentido. Isso é o que estamos pesquisando o usuário usando. O carregamento está pronto, e estamos retirando a tarefa deles. Consegui da tarefa. E finalmente, eu vou simplesmente retornar a tarefa deles em gostaria de embrulhar tudo em uma espécie de bloco de
fragatas. Então, quando eu deveria tentar pegar em, vai mover tudo para dentro aqui no bloco tente e aqui vai dizer console
log escuro e eu iria para os outros vão dizer tempo. Então deixe-me dizer isso. Vamos para o irmão e o fresco. Então, se você der uma olhada nos cães que, como você pode ver, temos uma nova mutação aqui, que é tarefa de atraso. Agora, vamos primeiro de tudo, Grundy obter toda a equidade de tarefas para realmente obter a lista fora da Tarefa I D. Para que, se pudermos executar o acordo deles, nós usaremos qualquer coisa fora desta idéia. Então aqui, indo para a direita. As mutações do nome da operação de rotação Assam tem a tarefa iluminada e será mutação especialidade como tarefa direta. E aqui eu preciso passar a idéia a partir disso ou do que ela quer. Posso pedir o nome
I.D e o Streeter completo está fora da presa que foi apagada. Agora, vamos supor que queremos relacionar essa ideia que é fazer compras online. Então, vai simplesmente importunado por aqui. E se eu ouvir entrar e como você pode ver, nós temos a resposta. Se eu não conseguir todas as tarefas agora, então como você pode ver, nós só temos um que eu teria sobrado. Nenhum esconderio, banco de dados
Cheryl. Então, se eu basicamente o novo então exigência Agora John só tem um elemento na tarefa de deixar eu mostrar a vocês qual é este. E se eu ir para a tarefa em basicamente fresco a próxima vaga, as compras on-line é excluído daqui. E se eu tentasse, deletar este projeto completo também. Então deixe-me deletar isso também. E se eu acertar isso como você pode ver o resultado da ninhada, se eu não conseguir todas as tarefas, nós temos lágrimas. Vamos marcar o banco de dados. Está fresco por aqui. Como você pode ver, sua tarefa está relacionada. Vamos para o usuário. O fresco Agora a tarefa está segurando elemento zero. Então isso está funcionando perfeitamente bem em que é isso para este vídeo em particular. Espero que tenha sido capaz de acompanhar. E muito obrigado por assistir isso para você.
33. Paginação de limite de deslocamento (Lista de tarefas): Olá, todos neste vídeo, vamos implementar a apresentação do limite oficial. Agora, eu já criei alguns fora da tarefa para o usuário, John. E como você pode ver de dentro para fora o banco de dados, nós temos um monte fora de tarefa e eu criei isso para que eles comecem por sua
imaginação compreensão . Então, a forma como a paginação funciona é que você tem um oficial e você tem um limite para isso. Absurdo é gerar, hum, como estagiário do banco de dados Mongo. Em outra perspectiva de banco de dados, nós apenas nos referimos como desligado. Certamente. Então fora tipo de basicamente define o no mais off record que você quer. Pular no limite. Basicamente defesa na lama off registros que você quer para uma página. Então é bem simples. Então vamos implementá-lo agora. Então eu vou primeiro ir para a definição de tipo deles aqui. Dentro da tarefa, os usuários podem basicamente enviar dois valores. A primeira fuga desta será desligada. Digitando professor em segundo será fora do limite de tipo em. Vai ser em digital também. Agora vamos para a tarefa é mais sobre Dhere indo dedo do pé, pegue o salto eo valor limite do objeto argumento. Então aqui eu posso dizer limite de fuga Andi. Não, Se este limite de manutenção não é parte, vou definir um valor padrão. Então eu realmente acho seu valor deformado para a fuga em zero para o limite. Vou definir, por exemplo, 10 Agora, aqui. Primeiro, vou classificar o acordo pela
identificação identificação na ordem decrescente. Então você vai Sadat classificar em um espaço onde eles sentem que eu quero começar com seu sublinhado 80. Então aqui eu vou especificar o menos um que ordens de jantar que não estávamos lá em ordem
decrescente. E então ele executa um salto ponto como escape em ir para passar o limite em vez da
função limite . Então, espero que isso faça sentido. Então deixe-me dizer isso. Agora vamos para o navegador. Deixe-me refrescar. E se eu ouvir o, por exemplo, ficando taskers off agora, ele funcionou muito bem porque eles pulam eo limitado vontade seu opcional. Agora vamos trabalhar com a fuga no limite, está bem? Então aqui você sob especificado o valor de salto em zero e irá especificar o limite como cinco Deixe minha cabeça isso. Como você pode ver, registre os cinco registros. E se eu especificar, a fuga tem 5 e 5 LTD. Se eu acertar isso, então como você pode ver, nós chamamos diesel de nós 5 para 1. Uma espécie de doação está funcionando bem, mas há alguns problemas com a imaginação limitada do oficial. Então, basicamente, há polícia, e um dia é o 4º 1. É o médico humano? Registros duplicados. Se a sua lista for desgastada com bastante frequência na segunda visita, uma data é o desempenho. Então vamos implementar outra abordagem, que é chamada de imaginação mais grosseira de Bates. E em primeiro lugar, nós vamos combater como o deslocamento Lim funciona foi dito, como o serviço de carro funcionou? Em seguida, vamos implementar a paginação do serviço de carro no próximo vídeo sobre para este vídeo. É isso. E eu espero que você tenha sido capaz de acompanhar. E muito obrigado por assistir este vídeo
34. Limite offset Paginação Vs de Paginação com o de limite de: Olá, todos em Neste vídeo, estamos indo para o pé. Compare a massa. Paginação se aproxima da força. Um deles é o limite certo. Quem são, diz o serviço de carro paginação em. Vamos ver como o serviço de carros Big Nation resolve o problema que o
clima oficial tem. Então vamos seguir em frente. Então vamos supor que inicialmente você tem 10 registros em vez da tabela em sua exibição. Cinco registros. Então, no debate um pouco antes do oficial a zero. Então você obtém os primeiros 5 itens, então você começa do item virado para seis. Na segunda página, você recebe 5 para 1. Então é assim que você está exibindo os itens. Nenhum Senhor supõe que sua lista está sangrando com frequência. Então o que pode acontecer é que digamos que você estava na primeira página em você foi capaz de ver o item Trento sexo. E enquanto você estava na página 15 novos registros foram adicionados. Inserir fora da mesa. Então, agora, se você nunca chegar à página dois em dure especificando o valor é deslocado cinco e limite cinco porque você quer mostrar o consistente cinco deserto em cada praia para que você vai obter o item 10 para 6 novamente. A razão é que, uma vez que estes cinco novos discos estão indo para novo, especificamente fora da superfície cinco. Então estes cinco registros são ignorados em você novamente ver o item 10 para 6. Então a página para registros são exatamente os mesmos na página um também. Portanto, este é o problema de registros duplicados em fica fora de determinado limite paginação em Isso geralmente acontece quando sua lista é freqüentemente atualizada. Então vamos ver palavras a melhor abordagem para o mesmo. E eu vou mostrar a este duplicado o problema principal. Viva em nossa aplicação. Mas está desligado. Não, vamos ver a abordagem final, que é consideravelmente a nação espiritual. Não. Aqui você basicamente tem um cursor sobre. Basicamente aponta para um contrato recorde que os dados rápido. Então, por exemplo, você estava na página um e você pediu os primeiros 5 registros. Então, estes são basicamente deu-lhe a força onde o tribunal de 10 a 6. Então o último registro que este jejum é o item seis. Então agora o cursor basicamente aponta para o item seis. Como você pode ver aqui em porque não há nada além de um identificador exclusivo que aponta para um item específico dentro da tabela, como a idéia fora do item. Então você obtém a lista de itens. Mas servidor também retorna o cursor e, certo? Então o que você pode fazer é que você pode usar isso e cursor toe criou o próximo set off registros. Não, quando você pede o item do pé da praia, o servidor já sabe que as âncoras havia o Item 6 ligado. Tenho de ir buscar os próximos cinco discos. Então, basicamente, vai te dar isso. Eu não luto por 3 para 1. Então, como você pode ver agora, eles duplicar problema é resolvido em até mesmo saber os cinco novos itens foram adicionados enquanto você estava na página um. Ainda assim, você está obtendo o resultado apropriado. Então é assim que o são tipo de bs paginação funciona. E a maioria das empresas, por exemplo, Facebook, instagram, twitter. Todas essas empresas têm um pH ligado. Todos esses bebês estão implementando a paginação do serviço de carro, então você entende o quão grande fora um problema se torna Quando sua lista é operado com bastante frequência, você vai acabar com os cartões duplicados em caso de offset limite imaginação. E como discutimos antes há outro deserto. Lançar fora o oficial limite paginação sobre as meninas são baseado detonação em cadelas desempenho. Então, na apresentação de limite oficial que sempre tem que escanear a partir do item zero na varredura por
todo o fora determinado item. Mas no caso fora do cursor baseado imaginação que outros podem ir diretamente para esse item
particular onde o seu serviço de carro apontando dedo do pé confessou o próximo conjunto de itens para que este comparativamente mais rápido em comparação com o suplemento off. Então agora vamos avançar com a demonstração de vida fora dos registros duplicados. Então, como você pode ver, aqui estamos nós, começar nosso aplicativo Ondas off. Não, eu vou remover o salto e o valor limite daqui e indo simplesmente apertar a tarefa ap eu recebo todos os registros para que eles possam ver. Inicialmente, temos atendido cartões. Agora, se eu basicamente primeiro de tudo, especifique o valor de salto como zero nos valores-limite, por exemplo, cinco. E se eu acertar isso, eu tenho o tempo do item para seis. Então estes são cinco os guardas e próximo para a página para escapar especificado como cinco no limite como luta. E se eu ouvir isso, então eu tenho o resultado de cinco anos para perguntar um, certo? Não. Vamos supor que enquanto eu estava na página 15 novo recorde marcou adicionado de alguma forma. Então vamos fritar para adicionar esses discos. Vamos ver quando nunca chegarmos à página, para acontecer. Então, por exemplo, aqui no mágico tarefa clara, eu estou indo para cinco perto de registros, por exemplo. A tarefa 11 perguntou. Bem, 13
faz 14 e anoitecer? 15. Não, eu vou por aqui. Andi, basicamente espaço. Por quê? Eles pularam os EUA cinco e o limite é cinco no início, pessoas obtendo o recorde de 10 para 6. E se eu bater nessa residência novamente, eu tenho o recorde de 10 a 6 em ousa duplicar o problema do registro. E se você tiver uma olhada na base de dados, atualizar então, Como você pode ver, nós realmente temos 15 itens em vários bancos de dados. Então este é o problema que você tem. Mas vamos resolver isso com a detonação baseada em carcela no próximo vídeo. Mas eu só queria te dar uma pequena demonstração, então eu espero que você faça. Não vai fazer por muito tempo e muito obrigado por assistir este vídeo
35. Paginação com base em cursor (lista de tarefas): Olá. Todos neste rádio através de ir implementar a paginação base Kurtzer. Mas antes de postar para isso, eu gostaria de remover algumas das importações não utilizadas, como o seu i d nesta constante partir daqui e também vai excluir esta pasta constante como nós não estamos usando. Então, como sabemos que na paginação do serviço de carro temos um mais grosseiro. Então, em vez de pular, nós duramos para o cursor de recusado. Então vamos atualizar a definição de tipo. Então eu vou até aqui em vez de Skip, Eu realmente acho que os carros estão aqui neste vai ser fora do tipo corda em. Uma vez que este é opcionalmente, ele pode ser nenhum nível agora, Aqui são basicamente recebido este conjunto de carro aqui. Agora podemos remover a fuga daqui porque não é mais necessária. Agora eu vou defender esta consulta particular são classificar fora da função find para que eu possa dinamicamente adicionar ou remover os dados. Então aqui, primeiro lugar, vou dizer que a carreira const é igual a isso. Então, é
claro, não importa o que queremos buscar em Lee a tarefa que estão associados ao
usuário logado , Agora vamos levar em custódia é enviar a partir declaimed em Estamos dinamicamente preparado equidade Então aqui, vai aplicar a verificação f se porque não é encontrado E geralmente o que vai acontecer é que quando o cliente está solicitando pela primeira vez, ele só irá especificar o limite. Não terá acesso ao conselho, mas quando devolvermos os dados, pode ter acesso ao concerto e passar por aqui. Então, precisamos preparar dinamicamente a consulta se o serviço de carro ST para que saibamos que porque há um identificadores únicos, como o eu d ou a data de criação fora escuro registro
particular. Mas eu gostaria de escolher o sublinhado que eu sentiria aqui porque o
campo da ideia de sublinhado não é apenas único, mas também é indexado no carro. Senhor, paginação funciona melhor se o seu campo estiver indexado. Mas você pode fazer isso ou se sentir tão bem como o grande encontro. Andi até indexá-lo. Mas vamos usar o sublinhado diferente como um cursor aqui. Eu vou dar crédito ao sublinhado que eu diferente porque essa será a nossa cultura. E agora aqui nós amamos como a condição. Agora, antes de escrever a lógica aqui, deixe-me apenas explicar seus exemplos e idéias para que você possa entender. Claramente nenhum outro supôs que inicialmente o usuário especificou os limitadores cinco. Então vamos dar-lhes os discos de diss de cinco anos. E vamos supor que temos 15 registros na tabela. Então vamos devolver os registros do item 15 item 11. Então estes são cinco registros sobre o que o declínio gráfico fará é pegar o ID do último registro que recebeu, que é a tarefa 11 ou o item 11. Então ele vai pegar seu diário e passá-lo como uma cultura. Então agora, no próximo pedido de e o cursory enviado, queremos buscar todos os registros cuja idéia é menor que o cursor. Então, para isso, eu vou fazer isso fora do menos que operador ligado. Vou especificar o valor Esseker, senhor, porque queremos encontrar os valores que são menores que o castelo. Então, espero que isso faça sentido. E finalmente, vou especificar o quadrado que você está aqui. Então, em vez disso, eu vou passar o objeto de consulta aqui, então eu espero que isso faça sentido. Agora vamos para o navegador em teste. Então deixe-me ver se isso vamos para o navegador no fresco Agora vamos inicialmente especificado milímetros cinco. Não, se eu tivesse isso, então como você pode ver, nós temos os cinco discos. Não, se eu passar o tempo fora do último disco, que é Pasch 11 e eu vou separá-lo como um assento de carro aqui em cima. Se eu especificar isso agora, se eu acertar isso, então como você pode simplesmente obter o próximo cinco registro, que é da tarefa 10 a 6 95 Pegue isso. Eu estava na base Trudeau aqui e acertei isso de novo. Então, como você pode ver, nós temos a tarefa cinco para nós um. Então, nossa imaginação do cursor está funcionando bem. Mas podemos melhorar isso mais, fornecendo algumas informações sobre maternidade, como a próxima página Concerto em melhor do que o esperado é presidente ou não? Por causa de suas maneiras, o
cliente tem que descobrir que o último registro que pegou o I D em veículos especiais está aqui. E se amanhã ser adolescentes o concerto para a minha escritura para a data. Então, seu cliente quebra maçã. Certo. Então, para isso, precisamos passar uma informação de metadados. Então, pai, isso será atualizar o esquema. Então vamos para os clássicos vieram aqui. Agora, em vez disso, off estão devolvendo diretamente o ari fora da tarefa. Eu vou dedo do pé para encontrar um novo tipo Corliss tarefa liberado em Isto será conhecido o nível agora vai defender este tipo de objeto aqui. Então vou dizer “Pergunte ao Fred”. Andi aqui vamos Primeiro de tudo, ter o ajuste tarefa como uma chave sobre isso é realmente vai retornar a lista de tarefas. E também teremos outra chave chamada avanço acelerado. Aqui nesta página em quatro haverá outra fita de objetos que vamos definir em breve. Isto não será um nível. Então deixe-me definir este tipo de objeto, que é espaçamento para na página em para Bill, na verdade que vivem um solto como próxima Page Carson. Então eles são Train não tem que enfrentar o último disco. E o Fred tem 30 anos. A próxima montanha-russa espacial irá segurar exatamente o cursor que declina saber pegar em, basta passá-lo como uma cultura. Então, isso será fora do tipo string. E então também teremos o próximo discurso, que será desligado como barras de ouro. E ele vai simplesmente especificar que melhor viver nas próximas páginas, presidente ou não. Então agora vamos até aqui no resultado e modificar nossa resposta. Não, aqui precisamos detectar se a próxima página existe ou não. E só podemos fazer isso se simplesmente alimentarmos mais um recorde do que este lugar por limites. Então vamos supor que Klein envia o limite como 10. Mas o que realmente fazemos nós realmente primeiro 11 registros da tabela. Então, se o número de registro obtido, que é tarefa é maior do que o limite, isso significa que mais gravador presente que significa que tem próxima página se torna verdadeiro. E se este não for o caso, isso significa que o próximo lugar não existe, são registro normal existe e eles especificaram limite. Então aqui no limite, eu vou buscar e extraído cartão. E aqui, quando abraçar. Const tem a próxima página, e eu posso especificar isso. Como a terra do ponto do entardecer é maior do que o limite Então isso vai basicamente retornar o ouro em se houver mais registros do que isso era verdade em, se a ilha deserta é menor do
que o limite, isso e será falso. Portanto, este é, no entanto, detectar se o próximo lugar existe ou não. Mas agora, uma vez que temos buscado e item extra do banco de dados, também
precisamos removê-lo. E em vez de nos
movermos diretamente, precisamos removê-lo sob alguma condição. Então, há dois cenários. Novamente, se o próximo passo existir, então precisamos cortar o último item do Tasker porque esse é um extra que obtivemos da AWS. Mas se o próximo passo não existir, isso significa que se a lista de tarefas for menor que o limite, digamos que o limite foi 10. Mas mesmo depois de adicionar mais um, acabamos de receber oito registros do banco de dados. Isso significa que não há necessidade de remover o último item, uma vez que o resultado é menor que o limite. Então aqui precisamos cortar o último item, que depende do próximo arremesso. Então agora eu estou indo para re ascendeu. Lista fora tarefa na base fora tem próximo arremesso, mas curioso. E preciso fazer essa luz,
caso contrário, não me deixará fazer isso. Então aqui eu posso dizer se o próximo lugar existe, então simplesmente corte o último item. Então aqui vou eu fazer isso fora da matéria fatia aqui. Você pode especificar o índice inicial e o índice final. E se você quiser remover o último item, você pode especificar o índice final como negativo. Ele vai cortar o último item em ir devolver seu Nuri. Então aqui vai dizer, começando no Lex vai e o índice final como menos um em Se este não for o caso, isso significa que se eles têm próximo pit é falso, então simplesmente indo para retornar diariamente encheu-nos porque nesse caso, Não precisamos cortar nada. Espero que isto faça sentido. Agora temos toda a brutalidade, exceto o próximo arremesso. Nós estamos indo para o pé. Basta acessar o próximo lugar mais perto acessando o último item fora do tasker em. Vamos ter a ideia a partir daí. Então, é bastante simples, Mas antes de tudo, deixe-me corretamente retornou editor no primeiro. Isso é esperado. Então, a primeira coisa que é esperado é o alimento tarefa para o alimento tarefa. Vou devolver a tarefa aqui. Próximo minuto para fornecer profundidade é em quatro. E em vez da página em quatro quando assumiu duas coisas. O 1º 1 é o próximo carro, senhor. E eu posso obter o próximo cursor sobre o negócio fora de alguma condição novamente. Consigo ouvir “Check the next exista”. Então eu posso obter Dean espera mais perto acessando o último item que eu d então vou dizer tarefa fora entardecer ponto emprestado menos um dardo i d. e se, em seguida, esperar não é encontrado, Então não há sentido para enviar o próximo melhor mais perto. Então isso começa a especificar. Agora, aqui e para o tem próxima página vai passar esta variável por aqui. E lembre-se que o teste é um quinto isso. Estou usando o atalho do ano 6 aqui. Então, se o seu nome chave e desvalorizar Neymar parecem, você pode simplesmente especificá-lo como este no comando. Então deixe-me dizer isso. Vamos para o navegador e o novo Não, aqui. Eu vou pedir a comida pedir e dentro de cada tarefa para ele. Posso pedir o nome. Posso pedir o nome. Eu também posso pedir a página em quatro em Beijing comida pode ter próximo qual cursor e o tem próximo passo variável booleana também Então não identificou estes. E também podemos remover esta maldição daqui porque vamos usá-la do próximo cursor. Deixe-me acertar isso agora. Então sua agência inicial até, especialmente os limitadores cinco. Eu tenho os cinco registros e também tenho algumas informações de metadados, como o próximo cursor pitch e eles tem próximo pitch sobre ele é dito para é verdade que nós tomar este cursor em simplesmente importunado aqui. Onda acertou isso de novo. Então, eu não tenho tempo para seis. Deixe-me cópias e especial aqui Hit this novamente Eu recebo item 5 para 1. Andi tem próximo passo torna-se falso agora porque não há mais registros e, em seguida, esperar carros são também torna-se nenhuma presidência. Como é fácil para recusou simplesmente pegar o próximo cursor lugar do paciente para e passá-lo como um argumento para trabalhar pronto. E há mais uma coisa que podemos fazer é esconder a implementação, varejo fora do próximo campo mais perto. Então deixa-me mostrar-te. Então, atualmente, estamos basicamente enviando o próximo lugar mais perto, pois é que ganha. Seja qual for o sentimento, estamos escolhendo para o nosso carro grave, simplesmente passando seu valor como ele é. Então, se amanhã se você mudar o seu concerto de sublinhado eu derrotei então vamos supor criado em falhou, que é a data, então você vai dizer que eles aqui sobre este será enviado de volta para recusou esta implementação enigmática deve ser ouvido e de cliente recusado só precisa dedo do pé ter acesso a uma corda em Ele só precisa simplesmente passar nesta primavera sem saber por trás das águas
cena escolhido como um mais perto. Então, para que nós podemos passar Este realmente foi uma base 64 string e também é recomendado na apresentação de serviço de
carro que a sua próxima cultura pitch deve ser ou escolher corda. Isso significa que o meio deve estar escondido do cliente e isso também está especificado na documentação
da garota gráfica. Então, se você basicamente procurar por paginação UAL gráfico Então você vai ver que por aqui
é um morreu especificado. Deixe-me mostrar-lhe um Zaken. Veja, ele diz que como um lembrete que o assunto da carcela pode não ser
invocado . Sugerimos a base 64, incluindo eles. Então vamos ser um 64 no tribunal, os próximos precursores para que o valor real do carro para que ele não seja diretamente visível para
declinar e não é alterado procurado nesta margem do rio se você fizer o seu carro classificar como base 64 corda Então, se você Faça isso, então você não precisa entrar de órgão novamente. Adolescentes morreram dentro do esquema. Então vamos supor que se você migrar de I d toe criou esse campo, então você não tem que adolescentes seu tipo fora do cursor da primavera para data dentro fora de seu tipo adivinhação. Então, se você fizer seus cortes até Bay 64 ele vai sempre ficar primavera e você não tem que provocar
a definição de tipo neste outro lado. Então vamos fazê-lo agora, então eu vou para a base central em eu vou declarar função auxiliar dentro da pasta auxiliar. Então, vamos criar um extra de Jay aqui, indo declarar funcionar,
forçado a contorcer o 2º livro String Tau Bay 64. E o que o básico antes de voltar para esta corda. Então aqui vou dizer que as exportações modelo Lord começam a corda Kobe 64 neste vai ser uma função em. Vai aceitar os dados que queremos converter aqui. Vou dizer antes que eu tenho de vontade positivamente ele aqui em vai chamar o método de cadeia em bem especificado a base 64 de acordo aqui em ir para declarar outra função chamada como base 64. Então string, que vai reverter este processo, vai dizer base 64 ir string. Vamos obter os dados aqui vai dizer antes ponto de dados e aqui vai passar o básico apoiando o segundo argumento em Dhere. Vá Não, basta dizer puxar String aqui. Bem especificado E perguntando. Então, espero que isso faça sentido. Agora vamos usar esta função dentro do resultado da tarefa foram tão antes de tudo, eu vou importar, mas fora desta função. Então aqui, vou dizer Const e eu gostaríamos de exigi-lo da ajuda Coloque uma pasta em. Palavra que eu avisei é primavera Kobe 64 no básico para renunciar String em Agora, no momento fora de retornar o deserto, eu gostaria de simplesmente embrulhar esta idéia dentro da corda Kobe 64 porque queremos retornar a 64ª corda. Mas no momento em que recebemos, eu vou simplesmente converter o básico para quatro de volta para a cadeia em boa perspectiva, eu acho que são definidos aqui. Então, espero que isso faça sentido. Vamos para o navegador fresco. E se eu ouvisse o fugitivo frio, a agência ninho, este é o tipo de valor que temos agora. Não importa o que você implementa por trás da cena, você sempre terá uma string de base 64 OPEP de volta para declaimed on. Se especificarmos este concerto aqui e se ouvi isto, como podem ver, tudo parece bem. Nós temos tempo para seis e se eu simplesmente apertar esta pistola aqui, bater isso como você pode ver, nós temos os próximos discos. Não, vou rodar o mesmo cenário que tínhamos no caso de um oficial limitar a paginação para
demonstrar a vocês que eles duplicam o disco que o Problema é vendido sai do curso de
paginação RBS . Então deixe-me remover esta menina surfistas para cair em que Nós ouvimos isso então inicialmente nós temos este 15 para 11 registros Noto fazer exatamente o mesmo cenário que tivemos em caso de
paginação limite absurdo . Eu gostaria de remover estes cinco registros e construir dinamicamente neste cinco registro enquanto
estávamos na página um em. Foi o que fizemos no caso de Selim e deixe-me fazer aqui também. Então eu vou para a raiz disso em ir para remover esses cinco registros daqui. Legman Day como este, o fresco ir até aqui e bater isso de novo. Então agora o último disco que temos é da caneta tarefa, mas tem seis agora por que você estava na primeira página. Vamos adicionar lutar mais registros por trás da cena em Vamos ver se nós nunca chegar à página para usar o cursor, que resultados obtemos. Então eu vou usar este castelo na Bay Street aqui. Embora eu não vou bater no urso agora, mas apenas indo para o pé. Mantenha a cultura para a referência. E agora vamos supor que estamos na página um e cinco Novo guarda de discos adicionado atrás
de nós . Então vamos até aqui e acrescentou Então aqui vou dizer tarefa 11 12 Apenas doendo faz 14 e poeira 15. Vamos inserir todos os DWS Deixe-me atualizar. Como podem ver, temos esses cinco novos discos agora. Não, se eu basicamente acertar essa tarefa do gueto uma pia com a cultura que tínhamos anteriormente então deixe-me ouvir isso então, como você pode ver, nós temos a tarefa cinco tarefa um porque este carro, senhor, estava apontando para o top seis. Então, mesmo que os cinco novos registros tribunal acrescentou apenas porque tivemos o ponteiro que temos o resultado
adequado em nós não fizemos Deus, o resultado reputado que usamos para esconder na imaginação limite oficial. Então vocês que disseram para o carro de lado, paginação e eu espero que vocês tenham sido capazes de acompanhar. E muito obrigado por assistir a este vídeo
36. Os carregadores de dados - O que e por quê: Olá, todos neste vídeo, vamos entender os totais do dia da água em por Será que usamos pequenas encomendas? Mas antes de tudo, vamos dar uma olhada na situação atual no telégrafo para a posição da Líbia, modo que, se pudermos entender claramente a necessidade dos registradores de dados Então, atualmente, temos implementado ladrão um nível paredes resultado no vídeo anterior eu lhe disse que por que estão implementando o nível bastante dissolver guerras sobre por que não estamos sair tudo dentro aqui na guerra resultado tarefa, agregando os dados de coleta múltipla usando o método
populate. Então isso é equivalente às articulações em sequela. Então, atualmente, esta é a nossa implementação está feita. Primeiro de tudo, descobrimos todas as suas tarefas e para cada tarefa, descobrimos as informações do usuário sobre este resultado de nível de campo em leads quando o usuário é sequestrado. Se o usuário não estiver em questão, isso não será executado. Agora vamos supor que e se nós tivéssemos implementado tudo em vez da tarefa onde tudo está acabado sem o nível de medo acabou. Então teríamos que preencher tudo aqui. Então aqui estamos pedindo com uma lista de tarefas e também precisamos do usuário. Então nós temos preenchido o campo de usuário que este presidente, em vez da maneira modelo de tarefa para basicamente popular é tudo colocado fora da
coleção de usuários . Então este é o tipo de dados 30 leito. Então esta lógica específica olhar marcado para esta consulta. Mas e se os usuários simplesmente pediram o nome D céu escuro e completaram? Então, se você preencher tudo aqui, então essencialmente você está perdendo sua difícil no banco de dados porque usar as
informações de nível não é mesmo necessário são solicitados pelo Klink gráfico. Então, se você tiver um olhar para o resultado do nível de campo sobre esta coisa usado apenas para executar quando o cliente
gráfico realmente pedir para ele Se o cliente não perguntar o que isso vai nivelar isso acima não vai ser executado. Mas no caso de preencher tudo por aqui, isso sempre será executado e você sempre terá as informações do usuário que estamos aqui. Você está essencialmente acima de buscar os dados. Agora há mais uma desvantagem em preencher tudo por aqui. É basicamente profundo, muito complicação Então vamos supor que o cliente basicamente nós somos muito profundo Nestor Cory , porque o gráfico alegou ter mergulhado nossa consulta dedo do pé como deprimido, eles alertaram. Então eles devem ter pedido a lista de cidades. Em seguida, há para o nível de usuário informações electricais que novamente pediu para a lista fora de nós. E se nenhum acordo for cancelado primeiro, vamos supor que ouvimos outra coleção chamada Exposed, então eles teriam pedido o posto aqui, certo? Então nós temos que fazer essa população taxa de ninho agora. partir de agora, eu codifiquei esse campo de parte direito, mas em um cenário de nível real, você tem que detectar dinamicamente quais são os campos ou o modelo que você deseja preencher . Eso você tem 1/4 argumento em. Há uma função de lote chamado como está tudo acabado em quatro. Então, usando isso, você pode realmente descobrir quais são os campos que foram solicitados particular após recusados. Mas novamente, você terá que mapear cada campo e detectar se esse campo é um campo normal em
uma espécie de coleção ou se é uma coleção separada e, consequentemente, o inimitavelmente detectar a profundidade fora do povoado. E pode haver a possibilidade de que quaisquer dados relacionais que o cliente gráfico está pedindo, pode não
haver relação no banco de dados. Então há tanta complicação. Se você fizer tudo em um só lugar, porque como você está pronto e seu esquema como vai para os meus tipos de objetos
pessoas ou coleção múltipla em para falar sobre em termos fora de bancos de dados, você vai enfrentar um monte de problema com as ações profundas. Portanto, esta não é uma boa ideia povoar tudo por aqui porque vai tornar as coisas extremamente complicadas. Então isso significa que o nível livre resulta onde há uma solução limite? E é uma boa solução e é uma solução oficial. A resposta é não. Há lagarto um dígito com o resultado de nível de campo também. Então vamos ver a notícia dessas vadias do deserto. Então, o porque eles disseram queria com o nível livre dissolver o nosso é os debates redundantes que você faz com os resultados em gargalo de desempenho sobre o que eu quero dizer por redundante ser ódio é os vários clipes errados que você faz para os mesmos dados. Então deixe-me explicar o seu exemplo. Então vamos supor que havia 10 tarefa em uma espécie de tabela em toda essa tarefa articulada sobre o usuário John. Então, agora, se o gráfico nos alinhou para a lista fora da tarefa, nós basicamente primeiro encontrar a lista de tarefas usando o resultado da consulta tarefa foram e agora para cada tarefa foram basicamente atingindo a coleção de usuários brilhante. Então é 30 bico pronto. Isso vai ser executado para comer cada objeto tarefa em vez de sua lista de tarefas. Já que temos 10 Tusk, esta coisa vai funcionar 10 vezes. E uma vez que os usuários parecem que você está basicamente executando 10 consultas reputadas para obter o
detalhe John ,
certo, certo, então este é o problema múltiplo de ida e volta com o banco de dados que você enfrenta usando o resultado
nivelado livre foram. Então, se você está agora se perguntando, há alguma solução para isso? Sim, há em seus carregadores de dados chamados EUA. Então diga ordens é uma celebridade geral criada pelo Facebook em que é usado para morcego e descontar seu pedido de camada de acesso de dados. Então, se você está buscando a partir do banco de dados ou talvez de algum serviço Web, é um geral liberalmente que a saúde em breve apostar e descontar. Agora esta biblioteca não é simplesmente dedicar Lee construído para gráficos, mas pode ser usado em gráficos e nós vamos fazê-lo. Mas como eu disse, ele pode ser usado fora do gráfico também. Isto não é algo específico para criar vontade. Então agora eles devem ser administrados água e comprar as ordens de detalhes. Vamos também ver uma pequena demonstração deste banco de dados do meu povo em torno de viagens que
normalmente enfrentamos . Então eu basicamente vou para a base do tribunal, e agora vamos para o arquivo utilitário do banco de dados. E aqui eu vou simplesmente definir o conflito chamado como mangas Dot disse, e eu vou colocar a Opção Caldas de Livro para o Valor vai simplesmente dizer. Então o que isso vai fazer é imprimir todas as consultas devi para o console que esta realizada pelas mangas. Por isso, será muito fácil para nós praticar todos os hits da base de dados que são realizados pelas mangas e deixe-me mostrar-lhe as consultas respeitadas saudação marcou com o navegador em Vamos tentar acertar tarefa Digital em. Eu gostaria de também justo para as informações do usuário aqui, então indo para o espaço para o usuário e vamos supor lá para o usuário que queremos o i D
no e-mail . Atualmente, o limite é de cinco. Se eu acertar esse crédito em particular, teremos as cinco informações do usuário de vídeo também. Agora vamos ao tempo deles. Eles vão presidir a uma nova onda. Será que o livro como verdadeiro sobre o dinheiro vai, este é o tipo off logs que você começa em. Estas são nada além das consultas de banco de dados. Então, como você pode ver, há este hit consulta para obter a lista fora da tarefa. E agora para cada tarefa em uma espécie de lista de tarefas, temos um nível livre. Há todo o que está correndo. Deixe-me até mostrar-lhe por que ir para o resultado da tarefa seria, Como você pode ver, nós temos este nível livre. Já há encontrar por aqui. Por isso, é basicamente atingindo a coleção de usuários e encontrar os detalhes do usuário pelo usuário i D , que está presente no objeto de tarefa. Então, já que o limite é cinco, obtemos a lista de elenco como cinco, e para cada objeto ou oito tarefas, estamos buscando esse mesmo usuário novamente e novamente cinco vezes do banco de dados,
então, como você pode ver, este é o tipo de problema que você enfrenta com o nível de campo dissolver estavam em. Imagine se aumentarmos em um mais fora dos cabos que nos encaixamos. Por exemplo, se eu aumentar de cinco, arrepender-se desses problemas torna-se cada vez pior. Vamos ligar para o terminal deles. Como você pode ver agora temos 10 acessos de banco de dados para um único usuário. Então, este é o lugar onde a biblioteca como carregadores de dados entra em vigor, e ele vai nos ajudar, basicamente
, marcando toda essa solicitação em apenas um único pedido. Então vamos reduzir a demanda. As pessoas colocaram seus bancos de dados em apenas viagens de ida e volta aqui. Em curso, vamos precisar deste esquecendo bastante a lista de tarefas. Assim, com a ajuda de carregadores de dados, vamos reduzir este 10 mais 1 11 consultas tojust tomadas. Onde é um para obter a lista de tarefas e um crédito vai obter os detalhes do usuário. É isso. Então seus 11 acessos de banco de dados serão reduzidos a apenas acertos de banco de dados de alimentos, a tolerância também fornecer o dinheiro, bem como, e o que descontar vai fazer é basicamente descontar o resultado em Se você tentar acessar a mesma idéia nos próximos 20. Só vai lhe dar o resultado do dinheiro. Não vai dar o dedo do pé de novo. Acerte a coleção de usuários. Então, nesse caso, haverá apenas um chefe de banco de dados que será apenas este para obter a lista de tarefas isso
possa ser alcançado com o dinheiro. Mas eu realmente não recomendo descontar porque eles supostamente seus usuários atualizaram suas informações. E se você continuar tentando devolver o mesmo resultado descontado, então eles para baixo você. Serei ambíguo. Então eu realmente não recomendo que você use o dinheiro. Então eu acho que a melhor coisa é mais do que suficiente para resolver o propósito. Então vocês, eu espero que vocês sejam capazes de entender o mundo e comprar carregadores de dados com
demonstração de vida fora desta questão. E vamos corrigir esse problema no próximo vídeo usando a implementação dos caixas. Então eu espero que você foi capaz de acompanhar este vídeo em. Vejo você no meu próximo vídeo.
37. Como implementar os carregadores de dados: Olá. Todos nesta sua rota vão implementar os carregadores de dados. Mas antes de tudo, vamos entender como o meio deste trabalho por um exemplo,
Então, vai criar um arquivo aqui chamado dados Liudas iphone exemplo ponto anos depois. Preparei um tribunal só para te explicar tanto em pastelaria para trabalhar aqui. E, claro, precisamos instalar o dólar. Esse pacote por isso aqui vai dizer e eu comecei uma ordem alta. Então, como você pode ver, é feito a instalação. Então agora vamos ver como os maiores dados funcionam basicamente. Então, primeiro de tudo, você tem que criar uma nova instância fora da ordem de dados em como argumento leva
função de carregamento em lote , que basicamente tira lista off chaves ou ari off chaves em. Ele retorna os valores que resulta como uma promessa. Então lembre-se que para sua função de carregamento de morcegos sua função Crianças não sabem ari off valores, o que resulta como uma promessa. E se você está se perguntando que aqui não estamos retornando a promessa. Então, como discutimos no pensar nele vídeo que sempre que você está colocando palavra-chave para uma função, mesmo que você retorna um valor normal. Vai ser um recurso como uma promessa em apenas para explicar que resolver uma promessa é necessário para a função de carregamento em lote que eu vou remover nesta temporada. Palavra-chave. A partir de agora, gostamos de comandar esta luta. Então,
como você pode ver aqui, como você pode ver aqui, temos um monte de penas aqui. Ele diz que os carregadores devem ser construídos com a função que, exceto chaves desculpe off em retornos, matriz de valores, uma promessa. Já que não estás a devolver a promessa, vamos ficar juntos. Então eu vou fazer esta função facilitar. Portanto, o nosso valor é resultado como uma promessa. Então, isso é uma coisa, pois o que está carregando as chaves em vez da
R.A. R.A. está preocupado que você possa basicamente usar o Senhor importava. Então, o que você especificar aqui será empurrado para a lista fora das teclas. Neste momento, o cuidado mais importante aqui é que Van faz a função de carregamento em lote realmente executar Então seu crachá durante a função executar dentro de uma única decolagem de um evento. Olha, e se você está se perguntando, o que é vara pensar não é nada além de um atrito muitas vezes acontecimento. Look é chamado de pau em Norges on. Se você não sabe sobre o evento,
olhe, olhe, então eu sugiro que você pesquise sobre ele, porque é assim que o JavaScript funciona nos bastidores. E é um dos principais competentes fora de como as coisas basicamente se movem. Mas, em suma, gostaria de dizer que o loop Rent é responsável por pegar os itens do callback que você ou o Event Cube em colocá-lo dentro da pilha de chamadas do que a pilha de chamadas está vazia. Então é isso que a responsabilidade fora do loop é e cada atrito fora do loop de eventos. Que porcos lá vêm do Q e colocá-lo dentro daquela pilha é atrito e é chamado de falar. Então eu espero que você entenda. Então isso significa que quaisquer chaves que você tenha dominado dentro de um único loop de evento de decolagem serão exibidas todas as vermelhas em todas as outras funções de senhor que você executou em algumas outras decolagens, a aparência do evento será executada separadamente. Então isso significa que esta poesia vai executar as carteiras. Então este tempo definido Oh, basicamente não um sincronicamente, então este tribunal basicamente vai para o retorno de chamada. Então isso basicamente significa que este tribunal em particular vai correr em algum outro evento. Olhe, pegue em comparação com este. E o mesmo vale para este também. Mãos, teremos basicamente três função de usuário ruim chamado aqui. Um para este por este. E um por isso. Porque todos estes três pertencerão a três posições diferentes. Deixe-me tentar mostrar-lhe dizer, encontrar neste arquivo, por exemplo, ordens digitais
Senhor exemplo ponto anos. Então, como você pode ver aqui, eu adicionei corretamente os logs do console, que é usuário ruim chamado. Então, como você pode ver, isso é chamado três vezes porque todas essas três peças fora cored corre em diferentes
tirar o loop de eventos. Daí este lote de sua função ou podemos dizer função de carregamento em lote executado três vezes. - Não. Mais uma coisa que eu gostaria de mostrar a vocês é que se você fornecer as chaves de reputação
aqui do que ele vai ser ignorado pelos carregadores de dados, então deixe-me apenas executar isso novamente Então, como você pode ver nos quatro lotes de funções chamadas, Nós só temos um único valor aqui. Nós não temos itens repetidos na área, que é 111 Nós apenas temos um único. Então você não precisa se preocupar em pressionar as chaves relatadas dentro da função do Senhor. O Dallas vai cuidar disso. E ainda assim, isso
é algo básico fora das Callejas que eu queria discutir com você? Agora vamos empurrá-lo ainda mais para implementar os carregadores de dados inserir fora de uma replicação, então indo para sair daqui em diante, a primeira coisa que eu faço é
rebocar, criar, oferecido aqui chamado nós carregadores em. Em vez disso, ir para criar um arquivo chamado como User Daughters em aqui foi para exportar uma função guardada como usuários ruins. E isso vai ser uma função de carregamento em lote que usará inserir fora dos dados. Instância aqui. Teremos acesso à lista fora do ID do usuário é uma importação de óleo, o modelo do usuário então o grande infestou no banco de dados. Então, vou dizer const. Usuário é igual a exigir que eu posso obtê-lo de bancos de dados modelos barra usuário No, aqui. Tudo bem, consulta
D são para obter os dados até agora, Solo de Concert logs para que você possa dizer corretamente. Então, para o console sobre, eu só vou imprimir ou as chaves aqui vai simplesmente dizer, ID de
usuário está aqui. Vou dizer const. Usuários iguala o dedo do pé um pouco. Usuário dardo bem em. Eu quero encontrar no sublinhado i d Campo e agora queremos buscar todos aqueles usuários cujo I D é presidente. Inserir fora desta lista. Então, quando dois metros fora do operador em vai passar a lista aqui, que é usar os escritos. Então, espero que isso faça sentido. E já que estamos usando a palavra R, mantenha-a aqui. Precisamos fazer esta função issing, e também porque é uma função de carregamento ruim. Temos que resolver isso como uma promessa. Tão bonito para fazer esta função é tinta a bordo. Se precisamos fazer é esta qualidade não vai retornar o na mesma sequência como nós especificamos aqui. Então vamos supor que o uso já está na sequência off um dois em três, então não é necessário que este é quadrado está sempre indo para retornar o usuário um no usuário também. E o usuário três nesta sequência, este ótimo. Ele não pode voltar em nenhuma sequência porque é assim que as duplas funcionam. Então, para corrigir isto no Deserto Britânico na sequência adequada, vamos recuar sobre a lista do rádio dele aqui. Nós vamos descobrir em vez de os usuários em ir dedo do pé, retornou o objeto apropriado. Então deixe os filmes do ministério aqui. Vou simplesmente dizer que está feito. Primeiro de tudo, eu vou direto sobre as idéias do usuário. Então vai usar um mapa sombrio da direita? E aqui l A obter individualmente está pronto. E agora eu posso achar que isso já estava dentro da lista de usuários, então eu posso dizer que os usuários não encontram no Dhere. Vou chamar usuários individuais. Então aqui eu posso simplesmente dizer usuário escuro Heidi, se isso é igual ao usuário pronto que temos a partir da lista fora de uso já do que simplesmente retornar este objeto particular. E uma vez que estamos usando o mapa aqui, ele vai retornar o ari off objeto usuário que vai estar na mesma sequência temos a lista de variedades de uso. Então, espero que isso faça sentido. E agora, enquanto criamos o próximo arquivo lindo da pasta Borders para que possamos exportar todas as leis que criamos em apenas uma luta. Então vou simplesmente dizer, const pedidos de usuários para exigir e eu posso obtê-lo da ordem do usuário aqui. Qualquer coisa com um ponto modelo exporta, porque para um objeto e indo para exportar o usuário Lodeiro aqui e agora, já que nós exportamos, o que vamos fazer é usar esta função de usuário em lote particular dentro do objeto de contexto porque eu avisei os carregadores para estar disponível dentro do objeto de contexto para que ele possa
existir em resultado múltiplo, mas ou podemos dizer em cada dissolvível. Então vamos a este hardware. primeiro de tudo ir dedo do pé de George requer o pacote carregador de dados em seguida, também ir dedo do pé exigir a função de carregamento em lote das Pastas do Senhor do genocídio. O Const. Senhor é igual a exigir e eu posso obtê-lo da pasta carregadores. E agora, finalmente, aqui no contexto, gostaria de acrescentar que o senhor aqui vai ser um objeto que manterá ordens do meu povo. Então o primeiro 1 que criamos é a ordem usual. Então, nomeará a chave aqui como usuário e passará a nova instância fora do carregador de dados. Então, a melhor função de carregamento tem acesso à lista de chaves, e eu vou simplesmente passá-lo para as ordens da lei, dardo usuário emblemas ou função em ir passar todas essas chaves aqui. Então, espero que isso faça sentido. E acho que podemos remover esse log do console, que é contextual, e não é mais necessário. Não vamos usá-lo agora. É hora de usar isso. Eles dizem odor dentro da tarefa de nível livre dissolvido. Então vamos para a tarefa para resolver nível em. Eu estou indo toe basicamente vir em isso a partir do objeto de contexto eletrifica os carregadores então vamos ignorar o argumento. Objeto a partir do objeto de contexto. Terei acesso às fronteiras. Então aqui eu posso simplesmente dizer, const. Usuário igual a dedo do pé aguardam Senhor nos usuário Dark Lord e ouvir. Qualquer positivo está pronto para que eu possa obtê-lo do pai usuário sujo e eu vou ter falado palavra esta string dedo do pé para que seja mais fácil para os carregadores de dados para basicamente omitir
os valores repetidos , uma vez que será primitivo, De outra forma estéril. Não use ervas basicamente além do objeto. Tidy toe a lista off chaves em carregadores de dados não será capaz de comparar o re proteger crianças porque desde todo este caso são objeto, só porque o objeto tem o mesmo meglio não significa que eles são iguais e não será capaz eliminar as chaves duplicadas. Então as mãos são sugeridas para passar as primitivas aqui convertendo esta string toto. Então acho que estamos prontos para ir. Nós adicionamos as ordens em vez do contexto, e estamos usando isso aqui no nível do campo acabou. Agora vamos ver, que diferença isso traz em termos da consulta de banco de dados que disparamos? Então eles escoltaram o navegador no fresco e se eu ouvi isso particularmente aparecer agora, então como você pode ver, a primeira coisa que você teria observado aqui bem acima é que o guarda da Reserva retorna muito mais rápido, como em comparação com o curry anterior e agora alertar escola com seu terminal em ver quantos cartão
de crédito disparou. Então, como agência, só
há dois créditos disparados. A Força Um é tirar a lista de nós. Nós apenas presidente aqui no resultado do nível de tarefa foram, como você pode ver, mas para cada nível livre,
dissolver o trabalho pronto. Só temos uma taxa única. Eu fui atingido mais cedo. Estávamos a ter dores duplas sem ordens de fiança. Mas agora são apenas rádios para se perguntar. Tapas atingiram o nível da tarifa. Resultados sobre o total é apenas para consultas. Então, como você pode ver, quanta melhoria de desempenho os carregadores de dados trazem para o seu
A.P I. E, na verdade, deixe-me apenas comentar isso aqui em apenas observar sua diferença. Se eu apenas renda na consulta anterior, deixe-me ir para o navegador e apenas observar que haverá um pequeno atraso na resposta
que recebemos a partir desta hora porque então o que tem que executar um monte fora consultas. Então, se eu ouvi isso então, como você pode ver, há muito atraso. Então você terá a sobremesa, como você pode ver. Não, você tem o resultado. E se eu for para o criminoso deles, em seguida, como um país porque 10 crédito foi demitido, e agora se eu basicamente vir em direção a esta coisa de novo em incomum os carregadores em. Deixe-me ver estes. Vamos para o navegador e aperte isso de novo. Então, como pode ver, até onde conseguimos resposta? Porque nosso diesel de nível livre ou consulta só dói uma vez. Então é assim que você implementa que eles recebem ordens. Há mais uma coisa que discutimos que os detalhistas não só ruim ela solicitar, mas também descontar o seu pedido. Mas eu não sugiro que você vá com o dinheiro porque se você está voltando, o elenco fervilhou. E em algum lugar no meio, se algumas das informações do usuário foram atualizadas, você dará a eles maiores informações volta para recusar, então você não deve fazê-lo. Mas eu vou te mostrar como você pode descontar seu pedido de lulus de dados? Então, com o descontar o que vai acontecer é que, enquanto sua lista fora chaves não estão mudando os dados, Ludo está indo dedo do pé, dar as reservas de dinheiro e não está mesmo indo dedo fogo esta única qualidade porque já tem o resultado na primeira vez que você disparou. Então vamos ver, como você pode basicamente descontar? Então, se você vai para este nosso Georgie s. Então atualmente funciona acontecimentos que você está criando ordens digitais em vez do contexto. Certo? E sabemos que o contexto é executado em cada solicitação ou solicitação. Então, em cada pedido, você está Reinstein fotografando os carregadores de dados mãos o descontar não é capaz de executar. Para fazer o seu dinheiro vai corretamente, você precisa mover este artigo o contexto Então vai simplesmente remover a partir daqui vai simplesmente dizer, Const usuário Senhor er em. Isso vai ser quinto isso e eu vou passar este pedido de usuário aqui. Nove se eu salvar isso. Andi apenas observou os registros em alguns de seus terminais quando eu ataquei o FBI. Então, se eu ouvir isso, vamos escola para o criminoso deles do que pela primeira vez. Temos exatamente o mesmo cenário. Estamos encontrando a lista fora da tarefa. Depois, há um hit base de dados para obter o usuário direito. Então, novamente temos um livro Onde é disparado no total? Não, se eu bater nisso de novo, vamos ver o que acontece se eu ouvir isso um par de novo. Vamos à escola com o terminal deles. Agora, como podem ver, Onley, a tarefa está demitida. Não há nenhum usuário dot find novamente. Isso ocorre porque sua lista off chaves é exatamente o mesmo em Daí sua função de carregamento em lote com esta tendência Dane usuário bat. Porque novamente, como eu disse, a lista de chaves é exatamente a mesma, e você está basicamente descontando. Mas novamente, eu não sugiro que você vá com o dinheiro porque vamos supor que atrás de nós em
adolescentes usuários , é detalhe, por exemplo, o nome. Então deixe-me perguntar o nome também. Agora vamos supor que o John atualiza seu nome de John do John outra coisa. Então, se você apenas continuar batendo
isso, ele não vai creditar a coleção de usuários. Vai dar crédito à tarefa aqui, certo? Então você acabaria enviando a maior informação de volta para o declínio. E se você está se perguntando isso, foi que a praça é onde estamos encontrando usuário? Não encontre um. E-mail. Jonathan Demeter vem com essa pergunta está sendo demitido de outro lugar, qual é esse? Deixa-me mostrar-te. Está sendo demitido do contexto. Então, se formos para o índice de contexto auxiliar lindo, como você pode ver, estamos basicamente encontrando o usuário com base em e-mail fornecido no payload token . Então não se confunda com um bom Kredi com os usuários. Começa a descobrir que estamos aqui de frente. Isso foi basicamente acionado pela função de carregamento ruim, mas isso é basicamente encontrar um é acionado pelo assistente de contexto do usuário de verificação. Então, estes são completamente diferentes. Então espero que agora o seu ninho. E como você pode basicamente descontar seus carregadores de dados? Mas sugiro que não o desconte. Então o que eu vou fazer é mover isso de novo para dentro da função de contexto. Então vamos remover isso daqui em diante indo simplesmente pastelaria o ano inteiro. E se eu disser isso, vá para o mais perto, aperte isso novamente então se eu for para o terminal, a residência novamente, esses usuários não acham isso realizado são para obter os detalhes do usuário. Então, pessoal, isso é tudo para os carregadores de dados apostando e descontando. Andi,
espero que você tenha sido capaz de acompanhar e muito obrigado por assistir este vídeo
38. Subscrição de usuário: Olá, todos neste vídeo, vamos implementar o rascunho. Você assinará nossa política. Até agora, temos trabalhado com ações e mutações. Mas agora é hora de trabalhar com assinatura. Agora, como você sabe, que as assinaturas airdrops são comunicação em tempo real entre o cliente e o servidor usando a Web. Swaggarts. Então, precisamos fazer alguma configuração sobre isso ou o que em si para fazer a assinatura funcionar corretamente. Então, a primeira coisa que Aldo é basicamente tornar-se um método disponível na instância
política em que o manipulador de assinatura instalado do McCurry Salvage fazê-lo. Então aqui vou simplesmente dizer, Apollo, senhor, Will dardo instalado manipulador de assinatura sobre isso basicamente requer uma instância fora realmente possível para que possamos obter a instância muitas vezes extra divisível a partir deste abominado método de escuta. Basicamente retorna uma instância de são realmente possíveis. Então aqui você quer simplesmente dizer, Const pedaço extra de trabalho em eu basicamente obter isso em ir dedo do pé. Passá-lo em vez do manipulador de assinatura de instalação, e isso é tudo em um dodo como o que é A conversa está em causa para fazer a assinatura funcionar corretamente ou não se expressar. Agora vamos colocá-lo ainda mais em fazer algumas alterações em vez da função de contexto para que eles possam provar a função. Recebeu o pedido de resposta óptica no caso de Kuwaitis em mágico. Mas em caso de não assinatura, ele não recebe o objeto de solicitação. Em vez
disso, ele recebe um objeto de conexão. Então aqui eu vou simplesmente poderia ter seu objeto particular. Onda. Uma vez que estamos fazendo muito fora de tarefa por aqui, o pedido que precisamos para continuar vivendo. O objeto de solicitação está disponível. Então agora eu vou simplesmente verificar se o pedido objetiva este presidente ou os
objetivos de conexão Presidente e, consequentemente, irá preparar o contexto aqui tão rápido, confiado. Diga Const. Contexto será j igual a um objeto vazio aqui e ver se o objeto request está presente. Em seguida, basta chamar este método particular, que é muito longe usuário e vai mover ambos fora desta coisa aqui. Então eu vou dizer o objeto de contexto e-mails Dort porque o pedido do dedo do pé para a refeição em parecem aqui também. Espero que isso pareça bom e que possamos colocar os carregadores em ambos os grandes rabos. Isso é se é uma consulta, mutação ou a assinatura de modo que vai mover esta janela para fora remover distrito na declaração . Aqui, aqui, vou dizer contexto. Sempre um carregador escuro sobre ele vai ser equipado com este objeto particular. E finalmente, eu vou retornar o objeto de contexto aqui. Então é tudo o que precisamos fazer. Isso é o que o confisco está em causa. Agora vamos empurrá-lo ainda mais na definição de tipo. Então aqui, em sua definição de tipo, eu vou primeiro de tudo, definir a assinatura de tipo, que é novamente um tipo de nível raiz em apenas para estender a assinatura em meu pessoal, outros arquivos indo para defina o nosso boneco livremente aqui. Está preocupado com a minha assinatura aqui? Não, como eu disse que vamos definir uma assinatura para o usuário, modo que é uma região vai ser executado assim que o usuário é criado. Então vamos para a definição de tipo de usuário aqui, indo para algum lugar estender por assinatura sobre o nome desta obsessão que eu chamo de Does User Created neste vai retornar o objeto de usuário? Não. Bem, basicamente, crie nossa assinatura para liderar aqui. Eles vão dizer que a assinatura dentro disto vai criar o arquivo do Index George e você vai primeiro. Todos exigem que os aparece de Apollo, disse biblioteca Will Express em Dhere, vai simplesmente dizer modelo, não exportar igual a nova instância Off o aparece agora, usando este pops de loteria escolher inédito no substrato aparência. Mas antes de tudo, vamos também defender os eventos é bem,
então aqui, então aqui, vamos criar nossa nova pasta chamada As Events on Inserir Off This. Vou criar o arquivo de evento para o usuário. Então, isso irá basicamente manter todos os eventos relacionados com o usuário vai dizer modelo Norte exportações é igual a um objeto em Eu quero exportar qualquer um chamado como usuário criado Anencephaly está indo para ser criado pelo usuário agora, como maneiras que você pode definir áreas da vingança está bem nesta pasta de eventos. Ao criar arquivo dedicado em, você pode exportar todos eles em contentar-se com um arquivado Caldas indexado lindo. Então aqui vai dizer eventos de usuário const é igual a exigir do arquivo de usuário no Dhere. Posso dizer que as exportações de pontos modelo foi um objeto e indo toe exportar a reverência do usuário. Então, espero que isso faça sentido. Nós definimos o usuário lettered evento no arquivo de usuário particular e da mesma forma, você pode definir diferentes eventos em vídeos, outros arquivos Onda. Finalmente, você pode exportar todos eles em um só lugar. Então, agora que já temos os pops, bem como demonstrando agora vamos. Mas há uma palavra para que eu vou para o usuário está em todo o lado. E assim como temos este objeto de consulta aqui e objeto de imitação ou aqui em que
definimos as guerras de resultado de mutação, vamos também ter um objeto de assinatura aqui. Então, em certo sentido, assinatura e novamente isso vai ser um objeto. E aqui você pode definir o resultado da guerra para sua assinatura. Saiba que o nome da assinatura é criado pelo usuário. Andi, Ao contrário da consulta na mutação onde você tem isso tudo o que é uma função Mas aqui em fica off assinatura Seu é tudo O que é um objeto em? Tem um assunto aborrecido. Basicamente devolve. O único traidor usando os adereços da literatura sobre também especificar o evento para que os
empréstimos afegãos que este evento em particular não é assinatura. Então, primeiro de tudo, deixe-me exigir profundo,
sublime pronto, então vamos dizer const, mas assim por diante, isso basicamente vem da assinatura . Fuller e eu gostaríamos de também exigir o usuário. Evans sobre isso vai basicamente vem da pasta Event, que é presidente em vez da pasta de assinatura no Dhere. Estrutura Eye Candy. O usuário Vingança Não, vamos aqui no dia aqui. Eu vou simplesmente dizer que aparece Dar andando com ele Ritter em passar o nome de demônio. Assim, o nome do evento é geralmente rent dot usuário criado. Você pode nomeá-lo como quiser, mas apenas certifique-se de mantê-lo consistente onde você define sua assinatura em seu evento de editor muito você. Então, sem olhos fora. Agora aqui temos basicamente se inscrever, mas agora é hora de publicar. Então, é claro, nós vamos publicar esta assinatura criada pelo usuário quando o usuário é realmente criado sobre estes não é basicamente criado em uma espécie de centro de mutação. Então vamos publicar um evento a partir daqui. Então, pouco antes de retornar o resultado, eu vou simplesmente dizer aparece publicar escuro. E aqui no quarto argumento, você tem o nome positivo fora do respiradouro. Então, que é usuário evento DOT usuário criado no segundo argumento, você tem que especificar a carga útil. Agora. A chave fora da carga útil é a mesma que a sua assinatura na qual é criada pelo usuário. E então você tem que realmente passar a carga útil ou os dados. Não há nada além do deserto que recebemos da consulta mongóis. Então acho que sua assinatura está pronta. Deixe-me ver se isso vamos para o navegador e eles estão frescos. Se você vai para a documentação que tem agência agora, além de Kredi e Mutation, você também pode ver a assinatura aqui. Então, agora vamos tentar executar isso. E agora eu vou executar esta assinatura em uma janela separada para que você possa ver claramente como ela funciona. Então indo Toe Bundy janela separada, Ondo. Minimize-o para que você possa ver isso claramente em ir para abrir. Os afegãos estão aqui, basicamente
acabados. Esta assinatura no nome da assinatura é criada pelo usuário, e eu posso perguntar o que o campo sugere. I d. Nomeie o e-mail do ID do usuário. Então deixe-me acertar isso agora que enquanto você considera esta coisa ouvindo agora vamos para o usuário. A P I on Deixe-me abrir novamente Este também para que você possa ver corretamente. Então eu simplesmente fiz isso para o Windows já ver claramente. Agora, agora vamos escrever um código no convite chamado Vamos nos inscrever. Então aqui vou dizer gradação, inscreva-se aqui. Vou simplesmente dizer Cadastre-se aqui no passado. Líderes são humanos em vez do objeto de importação, então vamos passar coisas como nome, que é necessário e alertas coloridos. Por exemplo. Bob para o homem, eu diria Bob 12 na taxa Gmail dot com em ouvir o último argumento unidade opacidade senha , passagem de célula
solar. 123456 E como resultado, ele naufragou anunciou para a idéia em si. Seja o que for, posso pedir o nome. E se eu acertar essa placa, vamos ver o que acontece. Então, como você pode ver assim que esta adição de item é feito, o dito, bem, basicamente retorna este valor, que é criado pelo usuário, e ele tem todos os sentimentos que pedimos. E se eu criar vários usuários aqui, vamos obter vários dados aqui porque ele está continuamente ouvindo. Então, por exemplo, se eu criar, por exemplo, Bob 13 e eu nomeei isso como Bob Curtain em. Se eu me inscrever, então como você pode ver, eu tenho bebop virando aqui. Então vocês resolvem o trabalho de assinatura e podem parar isso para parar de ouvir essa assinatura em particular. Então, pessoal, isso é tudo para esta assinatura em Espero que vocês tenham sido capazes de seguir em frente. Muito obrigado por assistir este vídeo.
39. Formatar resposta de erros e variáveis de consulta: Olá, todos nesta sala. Vamos dar uma olhada no para acasalamento. A outra mensagem sobre como fazer uso fora das variáveis de consulta. Até agora, só usamos a questão para nos decapitar aqui. Mas não, também
veremos como usar as variáveis de consulta. Então, vamos primeiro trabalhar na resposta de erro de formatação. Então, por exemplo, vamos supor 35 depois de qualquer um dos campos errados aqui porque eu quero gerar e Heather mensagem. Então, se eu acertar isso,
então, como você pode ver, este é o tipo de cabeçalho Meu portão situate. Nós obtemos o rastreamento completo da pilha aqui, mas se você quiser minimizar essa mensagem de erro que você recebe do servidor, você pode fazê-lo usando o formulário antes da função no tipo de conflito do servidor Apollo Veterans cada vez que o terroristas sem dissuadir dentro da política A que agora vamos para a base judicial aqui no conflito do servidor Apollo, você pode se tornar nossa função nos chamou por um minuto sobre este primeiro melhor basicamente tem acesso ao outro objeto em. Você pode fazê-lo fora deste objeto de erro não precisa das coisas que você deseja. Então eu estou indo para si mesmo não apenas controlar os objetos de ar para que você possa ver corretamente . E eu vou simplesmente devolver o outro daqui. Então deixe-me ver se esta grande escola para o navegador em fresco e eu vou basicamente bater isso novamente em Vamos para o documento permitir. Então, como você pode ver, este é o tipo de massas de ar que eles obtêm deste objeto de erro que está vindo daqui para que você possa pegar todas as coisas que queremos. Mas para mim, tudo o que eu avisei foi a mensagem em si, porque isso é mais do que suficiente. Então aqui, indo para o pé, em vez de devolver todo o objeto adulto, eu vou para alguém na mensagem assim. Então mensagem Venessa como em uma mensagem sombria. É isso. Eu vou salvar isso. Vamos à mercearia. E se eu acertar isso agora,
então, como você pode ver, isso é o que eu recebo. Eu simplesmente recebo a mensagem de Adam certa, e por exemplo, se eu passar, este é o valor correto. Vamos supor que tentamos acertar com um usuário que existe alguém no sistema? Se eu acertar isso como você pode ver, eu recebo uma mensagem adicionada minimalista para que você possa fazer uso deste outro objeto. E você pode pegar as coisas que você quer de todo esse outro objeto. - Não. Mais uma coisa que eu gostaria de mostrar. Use isso. Primeiro de tudo, esse dinheiro vai desconcertar o log. Até agora, só
usamos os decapitadores extrativos. Mas se você estiver vagando pela água, essas variáveis de consulta para que você possa fazer uso dessas variáveis de consulta para passar valores dinâmicos para suas operações, como mutação. assinatura da QUERIAN diz fora. Agora, se você vê aqui foram difíceis de cobrir este valor Então agora nós devemos supor que se você está usando esses valores em várias operações, direito em várias consultas ou vários convites, você tem que repetir esses mesmos valores em vez disso. O que você pode fazer é que você pode declará-los nesta consulta disponível para que você está indo para
usá-lo . Então, por exemplo, aqui no login, eu gostaria de passar valores dinâmicos das variáveis de consulta. Então, qual é a única palavra que tenho que fazer? É que eu tenho que ser finalmente variável como este com um cifrão no nome da variável em você pode nomeá-lo o que quiser. Eu quero nomeá-lo e-mail e você também tem que especificar seu tipo no dia esperado para o e-mail é string. Então eu especifico que a senha está bem novamente. Ele será fora do tipo string e conhecido o nível. E agora eu vou usar este vídeo vai aqui. Então eu vou dizer e-mail aqui, indo simplesmente fazer uso da senha. Agora tudo o que precisamos fazer é passar essas variáveis dinâmicas daqui. Então aqui eles vão encontrar o e-mail como, por exemplo, john at ST Ziemann dot com em ir para definir a senha. Também como o número 123456, estamos prontos para ir. Vamos acertar isso agora. Como você pode ver, nós o abrimos de volta. Se eu passar algo errado aqui e se eu ouvi isso então, como você pode ver, ele diz usuário, não telefone. Então é assim que você pode se tornar essa variável de consulta. E agora você pode reutilizar essa variável em minhas operações de pessoal, como você pode usuário na inscrição também. Ou talvez em outros lugares. Então eu acho que não tratar para a formatação, a outra resposta, bem como usar as variáveis de equidade. Espero que tenha sido capaz de acompanhar. E muito obrigado por assistir este vídeo.
40. CÓDIGO de ORIGEM: