﻿1
00:00:01,130 --> 00:00:02,940
‫Instrutor: Agora que

2
00:00:02,940 --> 00:00:04,910
‫você conhece os fundamentos do

3
00:00:04,910 --> 00:00:07,240
‫Mongoose implementando todas as quatro operações

4
00:00:07,240 --> 00:00:11,440
‫corretas, é agora que você finalmente importa os dados de nosso

5
00:00:11,440 --> 00:00:14,423
‫tour um pouco melhor para torná-lo mais completo.

6
00:00:15,990 --> 00:00:20,240
‫Portanto, neste ponto, nossos documentos de viagem podem ter apenas um nome,

7
00:00:20,240 --> 00:00:22,410
‫uma classificação e um preço.

8
00:00:22,410 --> 00:00:25,060
‫Mas é claro, precisamos de muito mais

9
00:00:25,060 --> 00:00:29,320
‫dados aqui, porque o objetivo é ter uma API muito rica

10
00:00:29,320 --> 00:00:30,940
‫em dados, como esta.

11
00:00:30,940 --> 00:00:33,390
‫Então, vamos dar uma olhada na versão final,

12
00:00:33,390 --> 00:00:35,453
‫na verdade, aqui como uma referência.

13
00:00:36,660 --> 00:00:39,010
‫E então é este aqui.

14
00:00:39,010 --> 00:00:41,230
‫E então temos todas as

15
00:00:41,230 --> 00:00:44,330
‫turnês, e vai se parecer um pouco com isso.

16
00:00:44,330 --> 00:00:46,620
‫Ok, então você vê que em

17
00:00:46,620 --> 00:00:49,750
‫cada passeio, temos um local de início, temos a média

18
00:00:49,750 --> 00:00:52,543
‫de classificações, quantidade de classificações, imagens, datas de início.

19
00:00:53,410 --> 00:00:57,400
‫Guias, nome, duração, tamanho máximo do grupo, dificuldade,

20
00:00:57,400 --> 00:00:58,910
‫preço, resumo,

21
00:00:58,910 --> 00:01:01,323
‫descrição, capa da imagem, localizações.

22
00:01:02,930 --> 00:01:07,930
‫Até mesmo uma lesma, revisões, duração em semanas e o ID.

23
00:01:07,960 --> 00:01:10,070
‫Então, você vê muitos dados,

24
00:01:10,070 --> 00:01:12,860
‫e não vamos adicionar todos os dados

25
00:01:12,860 --> 00:01:14,260
‫nesta aula aqui.

26
00:01:14,260 --> 00:01:17,750
‫Existem algumas peças que ainda não podemos

27
00:01:17,750 --> 00:01:22,330
‫adicionar, mas podemos, é claro, torná-las um pouco mais completas, certo?

28
00:01:22,330 --> 00:01:27,193
‫E vamos salvar isso aqui, como uma referência, e pegar

29
00:01:30,560 --> 00:01:33,550
‫todos os tours, e vou colocá-lo

30
00:01:34,630 --> 00:01:36,770
‫fora de qualquer pasta.

31
00:01:36,770 --> 00:01:39,643
‫Então, vamos colocá-lo aqui no topo.

32
00:01:40,810 --> 00:01:43,310
‫E isso não funciona por algum motivo.

33
00:01:43,310 --> 00:01:45,060
‫Ok, vamos apenas colocar aqui, então.

34
00:01:47,680 --> 00:01:50,903
‫Ok, vamos ver, isso é

35
00:01:52,390 --> 00:01:53,550
‫correto.

36
00:01:53,550 --> 00:01:55,570
‫E então, novamente, estou deixando isso

37
00:01:55,570 --> 00:01:58,400
‫aqui, a fim de continuar comparando o que

38
00:01:58,400 --> 00:02:00,330
‫temos com o que pretendemos.

39
00:02:00,330 --> 00:02:02,870
‫De qualquer forma, vamos voltar e começar

40
00:02:02,870 --> 00:02:05,250
‫com o que já temos, e

41
00:02:05,250 --> 00:02:06,560
‫temos o nome.

42
00:02:06,560 --> 00:02:08,520
‫E isso já está bom

43
00:02:08,520 --> 00:02:11,000
‫o suficiente, então por enquanto vou deixar assim.

44
00:02:11,000 --> 00:02:16,000
‫Então, o nome, então também queremos uma duração.

45
00:02:19,780 --> 00:02:24,780
‫E essa duração é um número e é obrigatório.

46
00:02:26,570 --> 00:02:29,990
‫Portanto, defina como verdadeiro e a

47
00:02:29,990 --> 00:02:33,603
‫mensagem é: um passeio deve ter uma duração.

48
00:02:35,100 --> 00:02:38,450
‫Então, esses validadores obrigatórios aqui são basicamente os

49
00:02:38,450 --> 00:02:40,870
‫únicos validadores que vou adicionar

50
00:02:40,870 --> 00:02:43,920
‫a cada um desses campos aqui por enquanto.

51
00:02:43,920 --> 00:02:46,120
‫Mais tarde, quando vamos falar

52
00:02:46,120 --> 00:02:48,790
‫mais detalhadamente sobre validadores, vamos adicionar muito mais.

53
00:02:48,790 --> 00:02:50,700
‫Mas, novamente, por enquanto,

54
00:02:50,700 --> 00:02:54,150
‫quero apenas tornar alguns desses campos, não todos, obrigatórios.

55
00:02:54,150 --> 00:02:56,110
‫Em seguida, temos o tamanho do grupo.

56
00:02:56,110 --> 00:02:58,640
‫Então, basicamente, quantas pessoas podem fazer parte

57
00:02:58,640 --> 00:03:01,030
‫de uma turnê no máximo.

58
00:03:01,030 --> 00:03:03,560
‫E então eu chamo isso de maxGroupSize.

59
00:03:06,530 --> 00:03:09,793
‫E então isso deve

60
00:03:12,330 --> 00:03:17,070
‫ser um número, e é novamente necessário.

61
00:03:17,070 --> 00:03:22,070
‫O passeio deve ter um tamanho de grupo.

62
00:03:24,150 --> 00:03:25,900
‫Não se esqueça da vírgula aqui.

63
00:03:25,900 --> 00:03:28,653
‫Em seguida, também precisamos de uma dificuldade.

64
00:03:36,010 --> 00:03:39,470
‫E esse aqui é uma string, e mais tarde,

65
00:03:39,470 --> 00:03:42,080
‫vamos definir que deve ser médio,

66
00:03:42,080 --> 00:03:44,920
‫fácil ou difícil, mas, novamente, isso é

67
00:03:44,920 --> 00:03:47,040
‫na verdade um validador,

68
00:03:47,040 --> 00:03:50,130
‫e vou deixar isso para um momento posterior.

69
00:03:50,130 --> 00:03:52,440
‫Ok, por enquanto, estou apenas dizendo

70
00:03:52,440 --> 00:03:54,423
‫que deve haver uma dificuldade.

71
00:03:58,640 --> 00:04:02,100
‫A seguir, vamos falar sobre as classificações.

72
00:04:02,100 --> 00:04:05,010
‫Portanto, agora temos um campo chamado Avaliação, mas na

73
00:04:05,010 --> 00:04:07,080
‫verdade queremos um campo para a

74
00:04:07,080 --> 00:04:08,610
‫média da avaliação e

75
00:04:08,610 --> 00:04:10,930
‫um campo para a quantidade de avaliações.

76
00:04:10,930 --> 00:04:13,620
‫Basicamente, a quantidade de avaliações que existem.

77
00:04:13,620 --> 00:04:17,430
‫Posteriormente, haverá outro recurso chamado avaliações, onde os

78
00:04:17,430 --> 00:04:20,080
‫usuários poderão escrever avaliações sobre

79
00:04:20,080 --> 00:04:22,330
‫passeios e dar avaliações.

80
00:04:22,330 --> 00:04:25,030
‫E isso vai ser um recurso completamente diferente

81
00:04:25,030 --> 00:04:27,060
‫e um modelo completamente diferente.

82
00:04:27,060 --> 00:04:29,770
‫Mas, ainda assim, queremos ter basicamente

83
00:04:29,770 --> 00:04:33,660
‫um resumo dessas avaliações e dessas avaliações aqui nos tours.

84
00:04:33,660 --> 00:04:36,630
‫Tudo bem, e os motivos para isso você aprenderá

85
00:04:36,630 --> 00:04:41,240
‫um pouco mais tarde, quando começarmos como e por que modelamos dados em bancos

86
00:04:41,240 --> 00:04:43,900
‫de dados NoSQL e, especificamente, no MongoDB.

87
00:04:43,900 --> 00:04:47,913
‫Ok, por enquanto, vamos apenas adicionar a média das avaliações e

88
00:04:49,150 --> 00:04:50,920
‫a quantidade das avaliações.

89
00:04:50,920 --> 00:04:53,220
‫Ok, então deixamos isso aqui como

90
00:04:53,220 --> 00:04:54,643
‫número, e com

91
00:04:55,500 --> 00:04:58,590
‫esse padrão, e a quantidade de classificações, ratingsQuantity.

92
00:05:00,930 --> 00:05:03,803
‫Isso também deve ser um número,

93
00:05:06,490 --> 00:05:09,160
‫e o padrão será zero.

94
00:05:09,160 --> 00:05:11,060
‫Porque é claro que no começo

95
00:05:11,060 --> 00:05:14,183
‫não haverá absolutamente nenhuma crítica, quando a turnê for nova.

96
00:05:15,590 --> 00:05:18,680
‫Bem, eu não dei a essas duas propriedades

97
00:05:18,680 --> 00:05:21,580
‫aqui um valor obrigatório, porque não é o

98
00:05:21,580 --> 00:05:22,960
‫usuário que cria

99
00:05:22,960 --> 00:05:26,100
‫esses passeios que vai realmente especificar esses valores, certo?

100
00:05:26,100 --> 00:05:27,720
‫Então, quando criarmos

101
00:05:27,720 --> 00:05:30,310
‫um novo roteiro, nunca especificaremos as

102
00:05:30,310 --> 00:05:32,260
‫avaliaçõesA Average, nem a

103
00:05:32,260 --> 00:05:34,720
‫ratingsQuantity, pois isso será calculado

104
00:05:34,720 --> 00:05:37,570
‫posteriormente a partir das avaliações reais, ok?

105
00:05:37,570 --> 00:05:40,040
‫Em seguida, temos o preço aqui,

106
00:05:40,040 --> 00:05:41,920
‫então está bom assim,

107
00:05:41,920 --> 00:05:44,403
‫e também podemos ter um desconto.

108
00:05:45,390 --> 00:05:47,110
‫Então, digamos que essa

109
00:05:47,110 --> 00:05:51,260
‫empresa, a Natours, queira dar um desconto para um dos passeios em algum

110
00:05:51,260 --> 00:05:53,250
‫momento, e para que eles possam

111
00:05:53,250 --> 00:05:55,463
‫especificar um preço com desconto aqui também.

112
00:05:57,090 --> 00:06:00,850
‫Portanto, priceDiscount, vamos colocá-lo aqui em número.

113
00:06:00,850 --> 00:06:03,220
‫Não precisamos de nenhuma opção de tipo de esquema aqui.

114
00:06:03,220 --> 00:06:04,970
‫Por exemplo, não é

115
00:06:04,970 --> 00:06:07,270
‫obrigatório e, por enquanto, vamos deixar assim.

116
00:06:08,170 --> 00:06:12,313
‫A seguir, podemos especificar um resumo do passeio.

117
00:06:14,120 --> 00:06:17,283
‫Portanto, o resumo é do tipo String.

118
00:06:19,250 --> 00:06:22,040
‫Mas não vou torná-lo obrigatório.

119
00:06:22,040 --> 00:06:24,540
‫Ok, e isso é simplesmente porque

120
00:06:24,540 --> 00:06:27,070
‫não está na página inicial do nosso site.

121
00:06:27,070 --> 00:06:29,940
‫Ok, basicamente não está na visão geral.

122
00:06:29,940 --> 00:06:31,800
‫E vou mostrar isso em um segundo,

123
00:06:31,800 --> 00:06:33,070
‫mas por enquanto, deixe-me

124
00:06:33,070 --> 00:06:36,330
‫adicionar aqui outra opção de tipo de esquema que ainda não mostrei,

125
00:06:36,330 --> 00:06:37,910
‫que é chamada de trim.

126
00:06:37,910 --> 00:06:40,513
‫E o corte só funciona para cordas.

127
00:06:41,820 --> 00:06:43,650
‫E vou definir como verdadeiro.

128
00:06:43,650 --> 00:06:46,710
‫Portanto, lembre-se de como eu disse que existem diferentes tipos

129
00:06:46,710 --> 00:06:49,030
‫de esquema para diferentes tipos aqui e,

130
00:06:49,030 --> 00:06:52,320
‫portanto, para string, temos um tipo de esquema que é trim,

131
00:06:52,320 --> 00:06:54,430
‫que removerá todos os espaços

132
00:06:54,430 --> 00:06:57,310
‫em branco no início e no final da string.

133
00:06:57,310 --> 00:07:00,363
‫Ok, então se alguém entrar,

134
00:07:01,570 --> 00:07:06,360
‫por exemplo, nesse tour, blá, blá, blá, não importa.

135
00:07:06,360 --> 00:07:08,720
‫Então, se alguém entrar nisso, todo

136
00:07:08,720 --> 00:07:10,940
‫esse espaço em branco no

137
00:07:10,940 --> 00:07:13,473
‫final e no início aqui será cortado.

138
00:07:15,190 --> 00:07:17,870
‫E, na verdade, podemos colocar a mesma coisa no nome,

139
00:07:17,870 --> 00:07:19,003
‫por exemplo, aqui.

140
00:07:20,810 --> 00:07:22,223
‫Ok, por que não?

141
00:07:23,350 --> 00:07:24,720
‫Então, vamos deixar assim.

142
00:07:24,720 --> 00:07:27,430
‫Aqui vejo que na verdade se chama duração,

143
00:07:27,430 --> 00:07:28,403
‫não durações.

144
00:07:30,450 --> 00:07:35,240
‫Tudo bem, então esse é o resumo, que também está incorreto.

145
00:07:35,240 --> 00:07:37,110
‫Portanto, um resumo como este.

146
00:07:37,110 --> 00:07:38,977
‫Ah, e sim, agora eu queria mostrar a

147
00:07:38,977 --> 00:07:40,633
‫vocês o site Natours, na verdade.

148
00:07:42,090 --> 00:07:44,593
‫Então, estamos de volta à nossa documentação do Mongoose.

149
00:07:46,890 --> 00:07:48,890
‫Mas é isso que eu quero mostrar a você.

150
00:07:48,890 --> 00:07:53,540
‫Então Natours. dev, que é o original deste aplicativo

151
00:07:53,540 --> 00:07:56,740
‫e, portanto, esses são os dados que temos em nossa API

152
00:07:56,740 --> 00:07:59,380
‫e que também precisamos, é claro, no banco de dados.

153
00:07:59,380 --> 00:08:00,770
‫Portanto, temos todos esses dados.

154
00:08:00,770 --> 00:08:05,260
‫Então, esse nome de passeio, temos a dificuldade, temos a duração, temos,

155
00:08:05,260 --> 00:08:07,800
‫isso é um resumo, então temos um

156
00:08:07,800 --> 00:08:10,930
‫local de início, temos a quantidade de locais, temos

157
00:08:10,930 --> 00:08:13,050
‫uma data de início, temos

158
00:08:13,050 --> 00:08:14,800
‫o tamanho máximo do

159
00:08:14,800 --> 00:08:17,602
‫grupo em aqui, e temos que definir o

160
00:08:17,602 --> 00:08:19,810
‫preço, a média da avaliação, a

161
00:08:19,810 --> 00:08:21,193
‫quantidade da avaliação.

162
00:08:22,050 --> 00:08:23,683
‫Também temos uma imagem aqui.

163
00:08:24,600 --> 00:08:27,833
‫E aqui na página de detalhes é onde temos,

164
00:08:30,045 --> 00:08:32,120
‫temos o resumo aqui embaixo.

165
00:08:32,120 --> 00:08:36,330
‫Temos os guias que acabei de mostrar a vocês no Postman antes.

166
00:08:36,330 --> 00:08:38,080
‫Temos mais algumas imagens.

167
00:08:38,080 --> 00:08:40,970
‫Temos aqui todos os locais e

168
00:08:40,970 --> 00:08:42,673
‫todos os comentários.

169
00:08:44,220 --> 00:08:47,570
‫Ok, como eu estava dizendo a você, nem

170
00:08:47,570 --> 00:08:51,340
‫todos os dados estão na página Visão geral e, portanto,

171
00:08:51,340 --> 00:08:54,500
‫nem todos os dados também são necessários.

172
00:08:54,500 --> 00:08:57,623
‫Ok, então vamos voltar aqui.

173
00:08:58,490 --> 00:09:01,333
‫Em seguida, quero adicionar uma descrição.

174
00:09:06,510 --> 00:09:10,283
‫E este é um tipo de String, e

175
00:09:11,850 --> 00:09:14,740
‫vamos definir trim como true novamente.

176
00:09:14,740 --> 00:09:16,520
‫E acabei de lembrar

177
00:09:16,520 --> 00:09:19,250
‫que o resumo está na página Visão geral.

178
00:09:19,250 --> 00:09:22,280
‫E então vamos tornar este obrigatório.

179
00:09:22,280 --> 00:09:24,223
‫Então você adiciona aqui

180
00:09:27,010 --> 00:09:27,843
‫no

181
00:09:30,220 --> 00:09:34,010
‫final, é verdade, um tour deve ter uma descrição.

182
00:09:34,010 --> 00:09:39,010
‫Ok, em seguida, especificaremos o imageCover.

183
00:09:42,344 --> 00:09:45,320
‫Essas são as imagens que você vê na página de

184
00:09:45,320 --> 00:09:48,463
‫visão geral e vamos definir esta para realmente exigir essa função.

185
00:09:50,060 --> 00:09:52,880
‫Portanto, o tipo deve ser string, porque

186
00:09:52,880 --> 00:09:55,670
‫basicamente este será simplesmente o nome

187
00:09:55,670 --> 00:09:57,860
‫da imagem aqui, que

188
00:09:57,860 --> 00:10:01,050
‫mais tarde poderemos ler do sistema de arquivos.

189
00:10:01,050 --> 00:10:03,850
‫Ok, então realmente apenas o nome da imagem.

190
00:10:03,850 --> 00:10:07,040
‫Basicamente, uma referência será armazenada no banco de dados.

191
00:10:07,040 --> 00:10:09,530
‫E essa é uma prática muito comum, ok?

192
00:10:09,530 --> 00:10:13,270
‫Portanto, poderíamos armazenar a imagem inteira também em um banco de dados, mas

193
00:10:13,270 --> 00:10:15,400
‫isso geralmente não é uma boa ideia.

194
00:10:15,400 --> 00:10:18,860
‫Simplesmente deixamos as imagens em algum lugar do sistema de arquivos e, em

195
00:10:18,860 --> 00:10:21,340
‫seguida, colocamos o nome da própria imagem no banco

196
00:10:21,340 --> 00:10:22,823
‫de dados como um campo.

197
00:10:24,370 --> 00:10:27,493
‫Portanto, defina-o como obrigatório, é

198
00:10:28,560 --> 00:10:32,990
‫verdade, um tour deve ter uma imagem de capa.

199
00:10:32,990 --> 00:10:36,550
‫Legal, a próxima é o resto das imagens.

200
00:10:36,550 --> 00:10:39,810
‫E agora aqui, temos algo novo, ok?

201
00:10:39,810 --> 00:10:41,740
‫Porque temos várias

202
00:10:41,740 --> 00:10:44,750
‫imagens e quero salvá-las como um array.

203
00:10:44,750 --> 00:10:47,010
‫E, na verdade, como uma série de strings.

204
00:10:47,010 --> 00:10:50,110
‫E a maneira de fazer isso

205
00:10:50,110 --> 00:10:54,260
‫é simplificar e especificar aqui um array de strings, assim.

206
00:10:54,260 --> 00:10:57,330
‫Então, eu quero que ainda seja do tipo string, mas

207
00:10:57,330 --> 00:10:59,230
‫quero que seja um array.

208
00:10:59,230 --> 00:11:02,580
‫Portanto, uma matriz na qual temos várias strings.

209
00:11:02,580 --> 00:11:06,441
‫E é assim que posso definir isso, ok?

210
00:11:06,441 --> 00:11:09,100
‫E usaremos isso mais tarde para outra coisa novamente.

211
00:11:09,100 --> 00:11:11,750
‫Então, passaremos mais opções de

212
00:11:11,750 --> 00:11:14,680
‫tipo de esquema do que apenas

213
00:11:14,680 --> 00:11:18,660
‫um tipo, e então usaremos isso novamente, certo?

214
00:11:18,660 --> 00:11:21,170
‫Por enquanto, vamos prosseguir, e

215
00:11:21,170 --> 00:11:23,970
‫o próximo campo que gostaria de

216
00:11:23,970 --> 00:11:26,207
‫adicionar aqui é createdAt.

217
00:11:26,207 --> 00:11:29,230
‫E o campo createdAt deve ser basicamente um carimbo de

218
00:11:29,230 --> 00:11:33,290
‫data / hora definido no momento em que o usuário obtém um novo tour.

219
00:11:33,290 --> 00:11:36,433
‫Portanto, isso aqui deve ser adicionado automaticamente.

220
00:11:37,660 --> 00:11:40,580
‫Novamente, no momento em que o passeio é criado.

221
00:11:40,580 --> 00:11:42,580
‫Então, como fazemos isso?

222
00:11:42,580 --> 00:11:46,560
‫Bem, em primeiro lugar, definimos o tipo como Data.

223
00:11:46,560 --> 00:11:50,840
‫Portanto, Data é mais um tipo de dados integrado do JavaScript e, portanto,

224
00:11:50,840 --> 00:11:52,253
‫podemos usá-lo aqui.

225
00:11:53,510 --> 00:11:56,210
‫Ok, então o tipo é Date, e

226
00:11:56,210 --> 00:11:59,010
‫então simplesmente precisamos definir um padrão, e

227
00:11:59,010 --> 00:12:00,840
‫o padrão é a

228
00:12:00,840 --> 00:12:04,870
‫função interna do JavaScript Date. agora.

229
00:12:04,870 --> 00:12:07,570
‫E tenho certeza de que você está familiarizado com este.

230
00:12:07,570 --> 00:12:11,390
‫Portanto, isso simplesmente nos dará um carimbo de data /

231
00:12:11,390 --> 00:12:15,140
‫hora em milissegundos, que basicamente representa o milissegundo atual.

232
00:12:15,140 --> 00:12:16,740
‫Certo, agora no

233
00:12:16,740 --> 00:12:20,390
‫Mongo, isso agora é convertido imediatamente para a data

234
00:12:20,390 --> 00:12:24,153
‫de hoje para dar mais sentido a esses dados, certo?

235
00:12:25,650 --> 00:12:30,650
‫Então, sim, esse é o carimbo de data / hora criado automaticamente.

236
00:12:30,900 --> 00:12:35,900
‫E agora, finalmente, precisamos também passar uma série de datas.

237
00:12:36,400 --> 00:12:38,650
‫E agora, finalmente, para

238
00:12:38,650 --> 00:12:43,033
‫terminar, também queremos definir um conjunto de datas de início.

239
00:12:44,836 --> 00:12:49,500
‫Portanto, datas de início e, novamente, simplesmente definimos uma matriz e, em

240
00:12:49,500 --> 00:12:52,470
‫seguida, dizemos que nela queremos as datas.

241
00:12:52,470 --> 00:12:56,240
‫Tudo bem, então essas datas de início são basicamente datas diferentes

242
00:12:56,240 --> 00:12:58,400
‫nas quais uma turnê começa.

243
00:12:58,400 --> 00:13:00,540
‫Por exemplo, podemos ter uma turnê

244
00:13:00,540 --> 00:13:02,280
‫começando em dezembro

245
00:13:02,280 --> 00:13:04,660
‫deste ano e, em seguida, em fevereiro

246
00:13:04,660 --> 00:13:06,580
‫do próximo ano, e então

247
00:13:06,580 --> 00:13:09,160
‫outra no verão, e assim datas diferentes

248
00:13:09,160 --> 00:13:11,030
‫para a mesma turnê são

249
00:13:11,030 --> 00:13:14,550
‫simplesmente diferentes, digamos, instâncias da turnê começando em datas diferentes.

250
00:13:14,550 --> 00:13:16,610
‫Tudo bem, espero que faça sentido.

251
00:13:16,610 --> 00:13:19,730
‫De qualquer forma, este aqui não será

252
00:13:19,730 --> 00:13:23,360
‫criado automaticamente pelo MongoDB, e o MongoDB tentará automaticamente

253
00:13:23,360 --> 00:13:27,000
‫analisar a string que passamos como a data em

254
00:13:27,000 --> 00:13:28,930
‫uma data JavaScript real.

255
00:13:28,930 --> 00:13:31,790
‫Por exemplo, poderíamos transmitir algo

256
00:13:31,790 --> 00:13:36,580
‫como digamos 2021, 21 de março, e novamente o

257
00:13:36,580 --> 00:13:39,150
‫Mongo analisaria isso automaticamente

258
00:13:39,150 --> 00:13:41,199
‫como uma data.

259
00:13:41,199 --> 00:13:42,820
‫Você também pode especificar a data.

260
00:13:42,820 --> 00:13:47,820
‫Por exemplo, dizer 11 e 32 minutos, certo.

261
00:13:48,210 --> 00:13:51,800
‫Ou também poderíamos simplesmente inserir um carimbo de data / hora Unix, portanto,

262
00:13:51,800 --> 00:13:54,610
‫um carimbo de data / hora como neste formato aqui.

263
00:13:54,610 --> 00:13:56,970
‫Ok, e todos esses

264
00:13:56,970 --> 00:14:01,200
‫formatos, basicamente, o Mongo tentará analisá-los em uma data.

265
00:14:01,200 --> 00:14:03,853
‫E apenas se não puder, gerará um erro.

266
00:14:04,762 --> 00:14:06,980
‫(exala) Então isso deu muito trabalho.

267
00:14:06,980 --> 00:14:08,730
‫Vamos dar uma chance aqui.

268
00:14:08,730 --> 00:14:11,530
‫E a maneira que podemos experimentar é ir

269
00:14:11,530 --> 00:14:13,850
‫aqui para o nosso dev-data, onde temos

270
00:14:13,850 --> 00:14:16,380
‫este tour simples. arquivo json,

271
00:14:16,380 --> 00:14:19,343
‫que é o que usamos na seção anterior.

272
00:14:20,370 --> 00:14:21,790
‫Tudo bem.

273
00:14:21,790 --> 00:14:23,190
‫E então tudo

274
00:14:23,190 --> 00:14:26,023
‫que vou fazer aqui é apenas pegar todos

275
00:14:28,070 --> 00:14:33,070
‫esses dados aqui e, em seguida, usar esse para criar uma nova solicitação, certo?

276
00:14:34,920 --> 00:14:38,170
‫Portanto, queremos criar uma nova solicitação POST aqui, e com

277
00:14:38,170 --> 00:14:39,500
‫todos esses dados,

278
00:14:39,500 --> 00:14:41,650
‫em vez de ter que escrevê-la manualmente.

279
00:14:42,660 --> 00:14:44,920
‫Ok, então colando tudo isso aqui.

280
00:14:46,320 --> 00:14:49,580
‫E agora, de fato, não precisamos do ID.

281
00:14:49,580 --> 00:14:50,750
‫Então, precisávamos

282
00:14:50,750 --> 00:14:53,620
‫disso antes, quando estávamos fazendo nossa API baseada

283
00:14:53,620 --> 00:14:57,200
‫em arquivo, mas agora acabou, então vamos nos livrar disso.

284
00:14:57,200 --> 00:14:58,690
‫E assim, todos

285
00:14:58,690 --> 00:15:02,250
‫os outros dados que marcamos como necessários agora estão realmente

286
00:15:02,250 --> 00:15:03,910
‫aqui, e ainda mais alguns.

287
00:15:03,910 --> 00:15:07,593
‫Então, vamos tentar ver o que acontece quando enviarmos isso.

288
00:15:08,500 --> 00:15:10,823
‫E agora recebemos dados inválidos enviados.

289
00:15:11,900 --> 00:15:16,450
‫Então, vamos ao nosso controlador de tour e aqui, onde criamos

290
00:15:16,450 --> 00:15:19,630
‫um tour, em vez desta mensagem, vamos

291
00:15:19,630 --> 00:15:22,610
‫voltar como tínhamos feito antes e enviar

292
00:15:22,610 --> 00:15:25,840
‫o erro completo para ver o que

293
00:15:26,780 --> 00:15:29,633
‫está realmente acontecendo de errado.

294
00:15:30,800 --> 00:15:34,580
‫Então mande aqui, ok, e o problema é que

295
00:15:34,580 --> 00:15:37,483
‫já temos The Snow Adventure definido.

296
00:15:38,550 --> 00:15:41,060
‫Então, primeiro vamos nos livrar disso.

297
00:15:41,060 --> 00:15:43,240
‫Sim, então aqui temos

298
00:15:43,240 --> 00:15:45,650
‫The Snow Adventure, então devemos deletar

299
00:15:45,650 --> 00:15:49,130
‫isso, e para isso, estou usando nossa própria API,

300
00:15:49,130 --> 00:15:51,713
‫então já podemos colocá-la em uso aqui.

301
00:15:53,100 --> 00:15:54,860
‫Então, esse agora deve ter

302
00:15:54,860 --> 00:15:58,690
‫desaparecido, e agora devemos ser capazes de adicionar isso como um novo passeio.

303
00:15:58,690 --> 00:16:01,590
‫E, de fato, agora está aqui.

304
00:16:01,590 --> 00:16:05,040
‫Então, aqui estão todos os dados que

305
00:16:05,040 --> 00:16:08,160
‫acabamos de especificar neste formato agradável.

306
00:16:08,160 --> 00:16:10,580
‫Então, o que é interessante agora é

307
00:16:10,580 --> 00:16:12,650
‫realmente ver o timestamp createdAt.

308
00:16:12,650 --> 00:16:16,770
‫Essa é a hora exata em que estou gravando este vídeo.

309
00:16:16,770 --> 00:16:19,480
‫E então este foi criado automaticamente

310
00:16:19,480 --> 00:16:23,880
‫por este trecho de código que temos em algum lugar aqui.

311
00:16:23,880 --> 00:16:24,853
‫Sim, isso.

312
00:16:25,970 --> 00:16:30,000
‫Então essa data está vindo desta Data. agora marca a hora

313
00:16:30,000 --> 00:16:32,970
‫em que o JavaScript então analisa

314
00:16:32,970 --> 00:16:36,120
‫automaticamente para esta data agradável e legível.

315
00:16:36,120 --> 00:16:39,290
‫Então aqui temos essas matrizes.

316
00:16:39,290 --> 00:16:41,407
‫Ok, então este array

317
00:16:41,407 --> 00:16:45,403
‫e outro array e, claro, o ID gerado automaticamente, certo?

318
00:16:46,740 --> 00:16:48,560
‫Então, se viermos aqui

319
00:16:48,560 --> 00:16:50,940
‫agora, teremos, é claro, três tours.

320
00:16:50,940 --> 00:16:54,340
‫Primeiro, os outros que não são tão completos

321
00:16:54,340 --> 00:16:56,510
‫e depois todos esses.

322
00:16:56,510 --> 00:16:59,450
‫O que é interessante de ver aqui

323
00:16:59,450 --> 00:17:04,050
‫é que o Mongo também atualizou os passeios que já tínhamos.

324
00:17:04,050 --> 00:17:06,290
‫Por exemplo, tínhamos classificação aqui,

325
00:17:06,290 --> 00:17:08,750
‫mas agora que nosso esquema mudou

326
00:17:08,750 --> 00:17:11,310
‫completamente, ele adicionou essa média de classificações

327
00:17:11,310 --> 00:17:15,600
‫e também esta quantidade de classificações, ambos aos seus padrões, e

328
00:17:15,600 --> 00:17:17,023
‫o mesmo aqui.

329
00:17:17,990 --> 00:17:20,410
‫Ele também criou esse carimbo de data / hora.

330
00:17:20,410 --> 00:17:25,210
‫Ele criou, sim, criou imagens e datas de início, com

331
00:17:25,210 --> 00:17:27,080
‫essas matrizes vazias.

332
00:17:27,080 --> 00:17:29,373
‫E isso meio que mudou todos esses dados aqui.

333
00:17:30,240 --> 00:17:32,830
‫Tudo bem, e antes de prosseguirmos em um

334
00:17:32,830 --> 00:17:34,460
‫projeto, provavelmente devemos ir

335
00:17:34,460 --> 00:17:36,863
‫em frente e excluir todos esses dados aqui.

336
00:17:38,380 --> 00:17:40,800
‫E, na verdade, o que faremos no

337
00:17:40,800 --> 00:17:43,660
‫próximo vídeo, agora que nosso modelo está finalmente concluído,

338
00:17:43,660 --> 00:17:45,250
‫pelo menos para

339
00:17:45,250 --> 00:17:47,410
‫esta seção, seguiremos em frente e

340
00:17:47,410 --> 00:17:50,060
‫escreveremos um pequeno script que importará automaticamente todos

341
00:17:50,060 --> 00:17:51,713
‫os passeios desses dados JSON.

342
00:17:52,550 --> 00:17:55,090
‫Ok, então a partir deste arquivo JSON, na verdade.

343
00:17:55,090 --> 00:17:57,170
‫Basicamente, ele lerá o arquivo, obterá

344
00:17:57,170 --> 00:18:00,800
‫todos os passeios e os importará para o banco de dados.

345
00:18:00,800 --> 00:18:03,830
‫Tudo bem, é isso que faremos a seguir,

346
00:18:03,830 --> 00:18:06,160
‫porque isso será extremamente útil nesta

347
00:18:06,160 --> 00:18:08,163
‫seção e também no futuro.

