1
00:00:00,370 --> 00:00:04,760
OK, então agora temos tudo o que precisamos fazer para adicionar um gato.

2
00:00:04,770 --> 00:00:08,650
Agora, precisamos escrever o código do código que se parece com isto.

3
00:00:08,700 --> 00:00:14,040
Vamos fazer um gato novo e quando criarmos um novo gato, nós vamos passar nos dados.

4
00:00:14,160 --> 00:00:20,740
Então eu vou dizer o nome e vamos com George e sua idade.

5
00:00:20,760 --> 00:00:27,480
Vamos com um gato mais velho 11 e o temperamento é mal-humorado.

6
00:00:27,930 --> 00:00:30,530
Apenas sai da minha experiência com gatos.

7
00:00:30,990 --> 00:00:34,080
E então, o que também faremos é salvar isso em uma variável.

8
00:00:34,560 --> 00:00:35,970
Então, vamos chamar isso de longe.

9
00:00:35,970 --> 00:00:38,980
George é igual ao gato novo.

10
00:00:38,990 --> 00:00:39,980
O nome dela é George.

11
00:00:39,990 --> 00:00:42,510
O temperamento da Idade 11 é mal-humorado.

12
00:00:42,840 --> 00:00:45,390
Então, isso realmente não foi adicionado ao banco de dados ainda.

13
00:00:45,600 --> 00:00:51,090
Há outro passo que George Dodd salva.

14
00:00:51,930 --> 00:00:55,070
E uma vez que guardamos isso será adicionado ao banco de dados.

15
00:00:55,080 --> 00:01:01,410
No entanto, existe a possibilidade de que não seja salvo, vamos dizer que nosso processo Mangu não está sendo executado

16
00:01:01,410 --> 00:01:07,000
por algum motivo ou a Internet não está funcionando em uma máquina que potencialmente não pode salvar.

17
00:01:07,080 --> 00:01:14,460
Então, ao invés de apenas salvá-lo cegamente, o que podemos fazer é passar uma função de retorno de chamada para salvar e essa

18
00:01:14,460 --> 00:01:16,900
função será chamada quando a gravação estiver concluída.

19
00:01:16,980 --> 00:01:20,760
Se funcionou ou não e isso nos dará duas coisas diferentes.

20
00:01:20,760 --> 00:01:28,320
O primeiro é qualquer erro potencial eo segundo é que ele não deve chamá-lo de George é o item que retornou ao item

21
00:01:28,320 --> 00:01:29,470
que foi salvo.

22
00:01:29,470 --> 00:01:30,780
Isso o chama de gato.

23
00:01:31,290 --> 00:01:34,500
E o que podemos fazer é verificar se há um erro.

24
00:01:34,500 --> 00:01:37,710
Vamos fazer um registro de vault do concerto.

25
00:01:37,710 --> 00:01:43,370
Algo deu errado assim.

26
00:01:43,500 --> 00:01:48,210
Caso contrário, vamos fazer um acesso a esse registro.

27
00:01:48,480 --> 00:01:57,620
Nós apenas salvamos um gato para o banco de dados e, em seguida, também somos chamados de Salt log o gato.

28
00:01:57,630 --> 00:01:58,340
Tudo bem.

29
00:01:58,620 --> 00:01:59,760
Então, há muito aqui.

30
00:01:59,940 --> 00:02:01,700
Então, vamos passar por isso mais uma vez.

31
00:02:01,860 --> 00:02:03,920
Vamos começar com apenas a salvar.

32
00:02:03,930 --> 00:02:11,370
tentar salvar George o gato do banco de dados e repassar nesta função que será chamada assim que isso acontecer.

33
00:02:11,430 --> 00:02:13,810
Então, o que estamos fazendo é

34
00:02:14,040 --> 00:02:17,300
E este é um padrão que vamos ver o tempo todo em mangustão.

35
00:02:17,400 --> 00:02:23,490
Então, vamos ter coisas como essa e depois você passa uma função de retorno de chamada para isso

36
00:02:23,490 --> 00:02:30,240
e então faremos o mesmo para Dot remover e para Dot criar em praticamente tudo o que fazemos com o

37
00:02:30,240 --> 00:02:35,070
Mongoose envolverá uma função de retorno de chamada e isso é porque isso leva tempo.

38
00:02:35,070 --> 00:02:41,760
O Javascript tem que ir e se comunicar com este processo aqui e descobrir se ele correu corretamente ou

39
00:02:41,760 --> 00:02:43,720
deu errado e leva tempo.

40
00:02:43,800 --> 00:02:49,530
Então, devemos fazer o retorno de chamada para que o código seja executado depois que isso acontecer.

41
00:02:50,010 --> 00:02:50,310
ESTÁ BEM.

42
00:02:50,340 --> 00:02:52,400
Portanto, nosso retorno de chamada leva dois parâmetros.

43
00:02:52,470 --> 00:02:54,430
O primeiro é um erro potencial.

44
00:02:54,750 --> 00:02:59,570
E isso ficará vazio esperançosamente, mas se não, então vamos cancelar esse registro.

45
00:02:59,570 --> 00:03:00,640
Algo deu errado.

46
00:03:00,990 --> 00:03:02,690
Caso contrário, imprimiremos.

47
00:03:02,700 --> 00:03:06,980
Acabamos de adicionar. Nós apenas salvamos seu gato no banco de dados e vamos imprimir o gato.

48
00:03:07,650 --> 00:03:08,040
ESTÁ BEM.

49
00:03:08,040 --> 00:03:09,190
Muita coisa.

50
00:03:09,330 --> 00:03:10,680
Então vamos ver como isso acontece.

51
00:03:10,950 --> 00:03:14,860
Vamos tentar rodar este nó.

52
00:03:14,910 --> 00:03:16,260
Sim.

53
00:03:17,100 --> 00:03:17,740
ESTÁ BEM.

54
00:03:17,880 --> 00:03:24,240
E nós conseguimos simplesmente salvamos o gato para o banco de dados e nós conseguimos o gato que imprimimos com esta linha

55
00:03:24,240 --> 00:03:24,650
aqui.

56
00:03:24,780 --> 00:03:29,470
E você pode ver que temos um eu. D. Temperamentos Graci age 11.

57
00:03:29,550 --> 00:03:30,740
O nome é George.

58
00:03:31,140 --> 00:03:37,140
E eu só quero destacar aqui Kat está se referindo ao que voltou do banco de dados

59
00:03:37,140 --> 00:03:43,530
porque também temos George e também podemos falar sobre o LUGG George se quisermos e veríamos que é

60
00:03:43,530 --> 00:03:44,340
um pouco diferente.

61
00:03:44,340 --> 00:03:46,930
George não é o que vem de um banco de dados.

62
00:03:46,950 --> 00:03:52,860
George é o que temos no javascript que estamos tentando salvar no banco de dados e é o que

63
00:03:52,860 --> 00:03:55,490
está sendo enviado de volta do banco de dados.

64
00:03:56,400 --> 00:03:58,150
Então, deixe-me provar para você que isso funcionou.

65
00:03:58,230 --> 00:04:06,960
Nós podemos abrir nosso conde Mongo. E então, se mostramos o Digby, agora temos um aplicativo de gato para que possamos usar o gato.

66
00:04:08,820 --> 00:04:15,660
E então, o que podemos fazer é mostrar as coleções primeiro e nós temos gatos que foram criados automaticamente por

67
00:04:15,660 --> 00:04:23,530
pluralizar isso e, então, vamos fazer uma coisa de gato de DVD encontrar tudo e nós temos o nosso novo gato aqui George.

68
00:04:24,720 --> 00:04:25,210
ESTÁ BEM.

69
00:04:25,220 --> 00:04:28,650
Vamos sair e agora vamos criar um gato mais.

70
00:04:28,770 --> 00:04:37,140
Então mude o nome do gato de George para Mrs. Norris, que é o gato de Harry Potter, filme seu gato e

71
00:04:37,140 --> 00:04:44,460
eu não tenho idéia de quantos anos ela tem é só dizer sete, embora provavelmente seja muito mais antiga do que isso.

72
00:04:44,640 --> 00:04:50,850
temperamento será maligno, embora seja justo podermos dizer isso sobre todo gato da história do mundo.

73
00:04:50,850 --> 00:04:51,520
E seu

74
00:04:51,840 --> 00:04:57,000
E sim, ainda diz George e isso é bom, porque isso realmente não afeta nada.

75
00:04:57,000 --> 00:05:00,660
É apenas o nome da variável no lado do javascript das coisas.

76
00:05:00,720 --> 00:05:03,540
Mas lembre-se de que estamos apenas escrevendo javascript.

77
00:05:03,720 --> 00:05:05,180
Mas então estamos guardando isso aqui.

78
00:05:05,340 --> 00:05:10,240
E leva os dados para dentro e envia isso para o Mongo e o salva no banco de dados.

79
00:05:10,350 --> 00:05:11,920
Mas isso não tem nada a ver com isso.

80
00:05:12,000 --> 00:05:15,060
É assim que nos referimos a ele em vez de nosso código.

81
00:05:15,060 --> 00:05:16,460
Ok, então vamos tentar o mesmo.

82
00:05:16,500 --> 00:05:18,610
Tente salvar esse gato novamente.

83
00:05:18,810 --> 00:05:28,710
Corra o nó Julius ou o gato Stut Julius OK e nós conseguimos apenas salvar outra captura no banco de dados e os 90 temperamentos, o nome

84
00:05:28,760 --> 00:05:32,840
do mal séptimo é Sra. Norris.

85
00:05:32,910 --> 00:05:33,170
ESTÁ BEM.

86
00:05:33,180 --> 00:05:36,410
Então é assim que podemos adicionar gatos ao banco de dados.

87
00:05:36,510 --> 00:05:43,620
A próxima característica importante é recuperar gatos do banco de dados e, para fazer isso, iremos voltar aqui e

88
00:05:43,620 --> 00:05:46,150
para baixo, vou mostrar-lhe um novo método.

89
00:05:46,380 --> 00:05:52,050
E, na verdade, vou comentar isso, caso contrário, toda vez que executarmos esse código, obteremos um novo gato no nosso

90
00:05:52,380 --> 00:05:54,500
banco de dados e está tudo bem.

91
00:05:54,510 --> 00:05:57,200
Mas eu só posso ter uma Sra. Norris de cada vez.

92
00:05:57,210 --> 00:06:00,400
Eu não quero ter cinco ou seis deles correndo em nossa base de dados.

93
00:06:00,510 --> 00:06:02,280
Então vou sair por agora.

94
00:06:02,640 --> 00:06:11,190
Então, aqui em baixo, o que precisamos fazer é usar o método de busca no gato, que foi o nosso modelo que definimos aqui.

95
00:06:12,000 --> 00:06:17,260
Então, Cat dot find e vamos passar num objeto vazio.

96
00:06:17,430 --> 00:06:24,660
de retorno de chamada e esta função de retorno de chamada são exatamente como a outra onde tomamos o erro como o primeiro parâmetro.

97
00:06:24,690 --> 00:06:26,350
E, em seguida, a função

98
00:06:26,460 --> 00:06:29,660
Se houver um erro potencial e verificaremos para que possamos começar.

99
00:06:29,820 --> 00:06:33,140
Se houver um erro, vamos cancelar esse registro.

100
00:06:33,380 --> 00:06:36,360
Oh, não há erro.

101
00:06:36,390 --> 00:06:41,780
E então, também imprimiremos o próprio erro.

102
00:06:41,850 --> 00:06:47,760
Caso contrário, vamos passar neste segundo parâmetro, que será o resultado da descoberta de pontos, o que

103
00:06:47,760 --> 00:06:52,950
seria espero que vários gatos sejam potencialmente apenas um gato, mas nós chamaremos de gatos.

104
00:06:53,100 --> 00:06:53,910
Totalmente até nós.

105
00:06:53,910 --> 00:06:56,830
Assim como isso depende de nós também.

106
00:06:57,000 --> 00:07:02,460
Espero que agora você esteja reconhecendo que, sempre que tivermos um retorno de chamada, depende

107
00:07:02,820 --> 00:07:05,190
de nós decidir o nome desses parâmetros.

108
00:07:05,670 --> 00:07:12,840
Então, vamos fazer mais cancelar esses gatos de log e vamos fazer isso e vamos adicionar outro

109
00:07:12,840 --> 00:07:17,290
aqui aqui apenas para tornar mais fácil ver todos os gatos.

110
00:07:18,800 --> 00:07:19,350
ESTÁ BEM.

111
00:07:19,620 --> 00:07:22,790
E salve isso e vejamos se isso funciona.

112
00:07:22,980 --> 00:07:28,650
vamos dirigir o gato para encontrar e repetir um objeto vazio porque não estamos procurando por alguns gatos particulares.

113
00:07:28,650 --> 00:07:28,970
Então,

114
00:07:28,980 --> 00:07:35,550
Nós só queremos todos eles e então repassamos no retorno de chamada, porque lembre-se que isso leva algum tempo ou

115
00:07:35,550 --> 00:07:36,530
pode não funcionar.

116
00:07:36,540 --> 00:07:37,860
Pode haver um erro.

117
00:07:37,950 --> 00:07:42,060
Então este código é executado quando isso é feito.

118
00:07:42,210 --> 00:07:42,530
Tudo bem.

119
00:07:42,540 --> 00:07:44,700
E eu verificaria se há um erro que você imprimiu.

120
00:07:44,700 --> 00:07:47,280
Caso contrário, você imprime os gatos.

121
00:07:47,280 --> 00:07:53,530
Vamos agora ter certeza de que você tem tudo o mais comentado, exceto as coisas importantes, e

122
00:07:53,570 --> 00:07:57,510
vamos limpar o console e depois executar o nosso arquivo.

123
00:07:57,540 --> 00:07:58,630
Aqui vamos nós.

124
00:07:58,740 --> 00:08:05,480
Então, nós conseguimos que nosso velho gato conserve esse registro e nós temos uma matriz que tem dois moldes diferentes nele.

125
00:08:05,490 --> 00:08:06,120
Ótimo.

126
00:08:06,120 --> 00:08:09,150
Então, eu vou mostrar uma coisa mais que podemos fazer para criar um gato.

127
00:08:09,330 --> 00:08:15,640
Ao invés de fazê-lo em duas etapas separadas, como temos aqui onde estamos criando um novo gato e depois executando.

128
00:08:15,690 --> 00:08:17,030
Salve no gato.

129
00:08:17,220 --> 00:08:18,450
Bem, também podemos fazer.

130
00:08:18,540 --> 00:08:20,580
Eu vou sair por agora.

131
00:08:20,580 --> 00:08:28,400
Tudo isso realmente é usado um método criar que é como encontrar, portanto, é pode criar.

132
00:08:28,950 --> 00:08:33,210
E isso é basicamente novo e salva tudo ao mesmo tempo.

133
00:08:33,300 --> 00:08:37,820
Então, em vez de torná-lo novo primeiro e depois salvá-lo para garantir que ele funcione.

134
00:08:37,860 --> 00:08:43,140
Podemos tentar imediatamente com o Create, que irá criar um novo e salvá-lo em um banco de dados.

135
00:08:43,200 --> 00:08:45,450
Então vamos fazer o nome.

136
00:08:45,750 --> 00:08:47,270
E estou ficando sem idéias aqui.

137
00:08:47,310 --> 00:08:49,890
Vamos chamar um gato branco de neve.

138
00:08:50,310 --> 00:08:54,150
E a idade é de 15, o que é um número.

139
00:08:54,330 --> 00:09:00,870
E miraculosamente encontramos um gato cujo temperamento era bom.

140
00:09:01,050 --> 00:09:03,270
Agradável é uma palavra muito forte.

141
00:09:03,270 --> 00:09:04,980
Vamos apenas ter um toque suave.

142
00:09:05,310 --> 00:09:06,030
Aqui vamos nós.

143
00:09:06,270 --> 00:09:11,000
Então, salvamos e, se executarmos isso agora, pode não funcionar.

144
00:09:11,080 --> 00:09:14,960
Bem, não teremos como saber até que adicionemos o retorno de chamada aqui.

145
00:09:15,690 --> 00:09:22,380
Então, novamente, espero que você esteja vendo esse padrão, vai vê-lo o tempo todo e então vamos fazer o nosso,

146
00:09:22,380 --> 00:09:25,950
se alguma vez, e vamos fazer isso legal e rápido.

147
00:09:25,990 --> 00:09:27,400
Cancelar esse erro de log.

148
00:09:27,810 --> 00:09:31,340
Além disso, cancelou o log cat.

149
00:09:31,710 --> 00:09:38,070
E lembre-se de chamá-lo de gato, porque estamos criando um gato único, e aqui embaixo eu chamei os gatos, mas é

150
00:09:38,100 --> 00:09:41,140
só uma questão do que faz sentido para um nome.

151
00:09:41,190 --> 00:09:43,590
Então, neste caso, os gatos têm mais sentido aqui.

152
00:09:43,610 --> 00:09:50,410
Cat faz mais sentido, mas também podemos chamá-lo de novo gato ou gato recém-criado ou retornou todos gatos.

153
00:09:51,060 --> 00:09:52,130
OK, então salve.

154
00:09:52,380 --> 00:09:55,360
E vamos ver se isso funciona.

155
00:09:55,380 --> 00:10:02,910
Então, agora, o que fizemos é primeiro aqui, adicionamos esse novo gato que criamos e o recuperamos do

156
00:10:02,910 --> 00:10:07,110
temperamento Blanche da idade de neve do banco de dados.

157
00:10:07,110 --> 00:10:09,800
E então também deixamos esse código que não comentamos.

158
00:10:09,870 --> 00:10:16,980
Então, nós também fomos e achamos todos os gatos no banco de dados e nós conseguimos três gatos diferentes mal-humorados e

159
00:10:16,990 --> 00:10:19,490
malvados e sim, esses poderiam ser seus nomes.

160
00:10:19,560 --> 00:10:21,340
Tecnicamente, esse é o seu temperamento.

161
00:10:21,450 --> 00:10:24,590
Os nomes deles são George Mrs. Norris e Branca de Neve.

162
00:10:25,170 --> 00:10:25,660
ESTÁ BEM.

163
00:10:25,770 --> 00:10:27,410
Então nós vimos muitas coisas aqui.

164
00:10:27,570 --> 00:10:32,800
Vamos fazer uma recapitulação muito rápida e diminuímos um pouco e vamos começar no início.

165
00:10:33,180 --> 00:10:38,980
Então, o que o Mongoose é o que é conhecido como um mapeador de dados do objeto odium.

166
00:10:39,000 --> 00:10:44,190
O que realmente significa é que é uma maneira para nós escrever o javascript dentro de nossos arquivos

167
00:10:44,190 --> 00:10:49,340
javascript como o nosso aplicativo J. S. ou arquivos expressos e esse código javascript irá interagir com nosso banco de dados.

168
00:10:49,560 --> 00:10:55,710
camada de JavaScript no topo do Mongo DB e ele adiciona algumas coisas extras extravagantes na medida em que ainda não vimos.

169
00:10:55,710 --> 00:10:56,930
Então, é basicamente uma

170
00:10:57,060 --> 00:11:02,370
Mas tem alguns métodos especiais extras que nos facilitam e depois nos conectamos, o banco de dados do

171
00:11:02,370 --> 00:11:05,480
aplicativo do gato foi criado para nós porque ele não existia.

172
00:11:05,580 --> 00:11:08,740
Mas da próxima vez que nos conectarmos e, na verdade, sempre que nos conectarmos.

173
00:11:08,760 --> 00:11:14,060
Além da primeira vez que executamos o arquivo, nós nos conectamos ao mesmo aplicativo de gato que já existia.

174
00:11:14,250 --> 00:11:20,640
E então definimos um esquema que é um plano para o que um gato se parece com uma idade e temperamento de nome.

175
00:11:20,640 --> 00:11:24,760
Agora não mencionei isso, mas não precisamos ter um nome de idade e temperamento.

176
00:11:24,810 --> 00:11:30,810
um usuário se inscrever no nosso site, não queremos que eles deixem o email em branco da senha em branco.

177
00:11:30,990 --> 00:11:35,700
Se os deixássemos em branco, não receberíamos erros, mas podemos adicionar essa funcionalidade e, mais

178
00:11:35,820 --> 00:11:37,300
tarde, por exemplo, quando houver

179
00:11:37,320 --> 00:11:38,910
Precisamos que ambos estejam lá.

180
00:11:38,940 --> 00:11:44,720
Então há uma maneira de fazer isso com Mongoose e então temos o que eu acho que é a linha mais confusa,

181
00:11:45,180 --> 00:11:47,750
conceitualmente, que é onde nós levamos o esquema do gato.

182
00:11:47,750 --> 00:11:48,880
O plano para um gato.

183
00:11:48,990 --> 00:11:54,960
E compilamos isso em um modelo que retorna um objeto que tem um monte de métodos para que ele saiba sobre a idade

184
00:11:54,960 --> 00:11:57,050
e o temperamento de nosso nome do plano.

185
00:11:57,270 --> 00:12:03,000
Mas também adiciona em coisas como criar e encontrar e muito mais métodos.

186
00:12:03,120 --> 00:12:08,130
Então, nós salvamos para gato com um C principal, o que é convencional para ter um nome

187
00:12:08,220 --> 00:12:13,560
de capital lá para o nosso modelo e então fizemos coisas como fazer um novo gato e depois salvá-lo.

188
00:12:13,680 --> 00:12:16,920
E a coisa chave é o retorno de chamada ou temos um erro.

189
00:12:16,980 --> 00:12:18,500
E então os dados voltam.

190
00:12:18,930 --> 00:12:23,540
E então criamos também ou criamos a mesma idéia exata.

191
00:12:23,580 --> 00:12:27,900
Temos um retorno de chamada e, em seguida, temos outro método aqui em baixo.

192
00:12:28,170 --> 00:12:30,900
Então vou mostrar-lhe mais alguns métodos à medida que avançamos.

193
00:12:30,900 --> 00:12:36,180
O ponto não é realmente que você memorizou a sintaxe exata dos métodos, mas apenas conceitualmente

194
00:12:36,180 --> 00:12:38,030
é claro sobre como isso funciona.

195
00:12:38,070 --> 00:12:44,300
Nós instalamos o mangastão para conectar-se ao modelo de esquema do banco de dados e, em seguida, interagimos com o banco de dados.

196
00:12:44,310 --> 00:12:48,060
Tudo bem, então é por agora e no próximo vídeo, vou mostrar-lhe como você pode adicionar mangustão

197
00:12:48,060 --> 00:12:51,660
a um aplicativo expresso e interagir com o banco de dados dentro de um aplicativo expresso
