﻿1
00:00:01,180 --> 00:00:02,570
‫-: Bem vindo de volta.

2
00:00:02,570 --> 00:00:05,269
‫Espero que você esteja se divertindo até agora nesta seção.

3
00:00:05,269 --> 00:00:08,429
‫Eu sei que estou, então vamos mantê-lo

4
00:00:08,429 --> 00:00:12,683
‫em movimento e aprender como atualizar documentos com o Mongodb.

5
00:00:14,720 --> 00:00:17,087
‫Então, de volta ao nosso mongoshell, vamos

6
00:00:17,087 --> 00:00:20,807
‫usar o db. passeios. updateOne.

7
00:00:23,884 --> 00:00:25,150
‫OK?

8
00:00:25,150 --> 00:00:28,050
‫Então é semelhante a. insira um que usamos

9
00:00:28,050 --> 00:00:29,760
‫para criar um novo documento.

10
00:00:29,760 --> 00:00:32,430
‫E lembre-se de como também tivemos. insertmany e

11
00:00:32,430 --> 00:00:35,120
‫assim também temos. updatemany.

12
00:00:35,120 --> 00:00:37,640
‫Agora como vai. atualizar muitos trabalhos?

13
00:00:37,640 --> 00:00:39,776
‫Bem, primeiro precisamos selecionar

14
00:00:39,776 --> 00:00:42,992
‫quais documentos realmente queremos atualizar e, em segundo

15
00:00:42,992 --> 00:00:46,460
‫lugar, precisamos passar os dados que devem ser atualizados.

16
00:00:46,460 --> 00:00:49,277
‫Portanto, o primeiro argumento é basicamente um

17
00:00:49,277 --> 00:00:52,120
‫objeto de filtro, como aprendemos na última aula.

18
00:00:52,120 --> 00:00:54,286
‫Então, basicamente precisamos consultar os

19
00:00:54,286 --> 00:00:57,510
‫documentos que queremos atualizar e vamos começar com isso

20
00:00:57,510 --> 00:01:00,012
‫começando de uma forma muito simples.

21
00:01:00,012 --> 00:01:02,150
‫Então, vou selecionar com base

22
00:01:02,150 --> 00:01:03,150
‫no nome

23
00:01:05,230 --> 00:01:06,623
‫The Snow Adventure.

24
00:01:08,890 --> 00:01:09,723
‫OK?

25
00:01:09,723 --> 00:01:11,935
‫Esse é meu objeto de

26
00:01:11,935 --> 00:01:15,690
‫filtro muito simples, especificando o tour que desejo atualizar. E

27
00:01:15,690 --> 00:01:17,500
‫agora o segundo objeto

28
00:01:17,500 --> 00:01:21,120
‫que preciso especificar é o que realmente desejo atualizar.

29
00:01:21,120 --> 00:01:24,930
‫Então, outro objeto aqui e então fechamos a função.

30
00:01:24,930 --> 00:01:28,500
‫E aqui precisamos usar o operador set.

31
00:01:28,500 --> 00:01:31,455
‫Então, novamente, isso funciona usando operadores

32
00:01:31,455 --> 00:01:35,820
‫exatamente como nessas consultas complexas que vimos no último vídeo.

33
00:01:35,820 --> 00:01:39,342
‫Portanto, defina e, em seguida, precisamos criar outro

34
00:01:39,342 --> 00:01:43,280
‫objeto e, finalmente, neste podemos especificar a propriedade que queremos

35
00:01:43,280 --> 00:01:47,013
‫atualizar e o valor para o qual queremos defini-la.

36
00:01:48,140 --> 00:01:49,792
‫Portanto, neste caso, o

37
00:01:49,792 --> 00:01:53,403
‫que queremos fazer é definir o preço como 597.

38
00:01:54,600 --> 00:01:55,433
‫Tudo bem?

39
00:01:55,433 --> 00:01:58,710
‫Este era 497 e agora estamos

40
00:01:58,710 --> 00:02:01,272
‫basicamente aumentando para 597.

41
00:02:01,272 --> 00:02:02,430
‫Tudo bem?

42
00:02:02,430 --> 00:02:06,380
‫Então vamos clicar em voltar e então atualizar nosso tour.

43
00:02:06,380 --> 00:02:08,651
‫Agora, se esta consulta aqui teria

44
00:02:08,651 --> 00:02:10,778
‫correspondido a vários documentos.

45
00:02:10,778 --> 00:02:13,034
‫Não consigo selecioná-lo por algum motivo,

46
00:02:13,034 --> 00:02:14,590
‫mas você pode ver.

47
00:02:14,590 --> 00:02:16,656
‫Portanto, se esta consulta que

48
00:02:16,656 --> 00:02:19,710
‫fizemos aqui tivesse selecionado vários documentos, apenas o

49
00:02:19,710 --> 00:02:22,220
‫primeiro teria sido atualizado porque estávamos

50
00:02:22,220 --> 00:02:24,091
‫usando. updatemain.

51
00:02:24,091 --> 00:02:26,566
‫Portanto, se já sabemos de antemão que

52
00:02:26,566 --> 00:02:29,020
‫nossa consulta vai corresponder a vários documentos,

53
00:02:29,020 --> 00:02:30,900
‫devemos usar. updatemany e

54
00:02:30,900 --> 00:02:32,430
‫não. updateone.

55
00:02:32,430 --> 00:02:33,263
‫OK?

56
00:02:33,263 --> 00:02:35,380
‫Agora, apenas para mostrar que

57
00:02:35,380 --> 00:02:38,560
‫realmente funcionou, vamos dar uma olhada em todos os documentos.

58
00:02:38,560 --> 00:02:43,560
‫Então db. passeios. encontrar e, de fato,

59
00:02:44,550 --> 00:02:46,650
‫temos The Snow Adventure aqui com

60
00:02:46,650 --> 00:02:48,140
‫o novo preço.

61
00:02:48,140 --> 00:02:48,973
‫Excelente.

62
00:02:48,973 --> 00:02:52,390
‫Então, atualizamos uma propriedade que já existia.

63
00:02:52,390 --> 00:02:55,280
‫Portanto, o preço já estava lá e

64
00:02:55,280 --> 00:02:58,590
‫nós simplesmente o definimos com um novo valor, mas também

65
00:02:58,590 --> 00:03:02,500
‫podemos criar novas propriedades e defini-las com novos valores, é claro.

66
00:03:02,500 --> 00:03:04,930
‫E realmente funciona da mesma maneira, mas

67
00:03:04,930 --> 00:03:06,870
‫deixe-me mostrar de qualquer maneira.

68
00:03:06,870 --> 00:03:09,740
‫E o que eu quero fazer aqui é encontrar tours

69
00:03:09,740 --> 00:03:12,734
‫premium e dar a eles um campo premium definido como true.

70
00:03:12,734 --> 00:03:15,740
‫Então, quais são os nossos passeios premium?

71
00:03:15,740 --> 00:03:18,453
‫Bem, vamos primeiro fazer um achado.

72
00:03:19,290 --> 00:03:21,960
‫Então, apenas para especificar essa consulta.

73
00:03:21,960 --> 00:03:24,430
‫E na verdade já fizemos isso antes.

74
00:03:24,430 --> 00:03:27,880
‫Portanto, os passeios que desejo devem ter um preço maior que 500 e

75
00:03:27,880 --> 00:03:32,340
‫uma classificação maior ou igual a 4. 8

76
00:03:32,340 --> 00:03:35,366
‫Essas são as nossas excursões premium, basicamente, aquelas

77
00:03:35,366 --> 00:03:38,040
‫que são realmente as mais caras

78
00:03:38,040 --> 00:03:39,960
‫e mais bem avaliadas.

79
00:03:39,960 --> 00:03:43,630
‫Então, para criar esta consulta, é realmente muito simples.

80
00:03:43,630 --> 00:03:47,090
‫E de novo porque já fizemos isso antes.

81
00:03:47,090 --> 00:03:49,709
‫Agora, o que quero que você faça aqui é

82
00:03:49,709 --> 00:03:51,592
‫pausar o vídeo e, mesmo

83
00:03:51,592 --> 00:03:54,150
‫que se lembre, digite esta consulta por conta própria.

84
00:03:54,150 --> 00:03:56,929
‫E se você não se lembra, melhor ainda, então

85
00:03:56,929 --> 00:03:58,921
‫você pode praticar o que aprendeu

86
00:03:58,921 --> 00:04:00,202
‫no último vídeo.

87
00:04:00,202 --> 00:04:01,450
‫Tudo bem?

88
00:04:01,450 --> 00:04:04,001
‫Portanto, pause o vídeo aqui e tente

89
00:04:04,001 --> 00:04:06,410
‫fazer essa pergunta por conta própria.

90
00:04:06,410 --> 00:04:08,640
‫Então, novamente, queremos que o preço seja maior que 500 e

91
00:04:08,640 --> 00:04:11,983
‫a avaliação maior ou igual a 4. 8

92
00:04:18,970 --> 00:04:20,950
‫Ok, espero que você tenha feito isso.

93
00:04:20,950 --> 00:04:23,070
‫E esta é a solução.

94
00:04:23,070 --> 00:04:28,070
‫Portanto, o preço deve ser maior ou igual a 500 e a avaliação deve

95
00:04:29,533 --> 00:04:34,533
‫ser maior ou igual a 4. 8

96
00:04:39,990 --> 00:04:41,080
‫OK?

97
00:04:41,080 --> 00:04:43,450
‫E aqui definimos apenas maior do que,

98
00:04:43,450 --> 00:04:45,200
‫na verdade, o mesmo.

99
00:04:45,200 --> 00:04:47,020
‫Vai nos dar o mesmo resultado.

100
00:04:47,020 --> 00:04:49,893
‫Mas não importa, vamos fazer exatamente como eu disse.

101
00:04:50,830 --> 00:04:54,310
‫E então, só para ter certeza, vamos ver se conseguimos

102
00:04:54,310 --> 00:04:57,491
‫o resultado perfeito e de fato este é o

103
00:04:57,491 --> 00:05:01,000
‫passeio que tem esse preço premium e ao mesmo tempo

104
00:05:01,000 --> 00:05:02,220
‫essa classificação premium.

105
00:05:02,220 --> 00:05:03,570
‫OK?

106
00:05:03,570 --> 00:05:06,500
‫E, neste caso, temos apenas um resultado, mas,

107
00:05:06,500 --> 00:05:09,230
‫é claro, podemos ter vários resultados.

108
00:05:09,230 --> 00:05:12,310
‫E agora vamos usar. updatemany.

109
00:05:12,310 --> 00:05:15,220
‫Então db. passeios. updatemany.

110
00:05:19,443 --> 00:05:22,670
‫E então nosso objeto de filtro que queremos é este.

111
00:05:22,670 --> 00:05:24,320
‫Então, estou apenas copiando daqui.

112
00:05:26,220 --> 00:05:28,739
‫Portanto, esse é o primeiro argumento e,

113
00:05:28,739 --> 00:05:32,100
‫em seguida, o segundo é realmente o que queremos atualizar.

114
00:05:32,100 --> 00:05:33,300
‫Lembre-se disso?

115
00:05:33,300 --> 00:05:36,270
‫Então, novamente, usamos o operador de conjunto

116
00:05:36,270 --> 00:05:40,287
‫e, em seguida, dizemos que queremos que o prêmio seja verdadeiro.

117
00:05:40,287 --> 00:05:41,200
‫OK?

118
00:05:41,200 --> 00:05:43,892
‫E desta vez nós realmente criamos um novo campo

119
00:05:43,892 --> 00:05:45,822
‫aqui e o definimos como verdadeiro.

120
00:05:45,822 --> 00:05:46,713
‫OK?

121
00:05:46,713 --> 00:05:50,130
‫Salve aquele e, na verdade, estavam faltando algumas

122
00:05:50,130 --> 00:05:53,787
‫chaves de fechamento e, portanto, não podemos voltar atrás,

123
00:05:53,787 --> 00:05:56,353
‫então deixe-me tentar adicioná-lo aqui.

124
00:05:57,580 --> 00:06:00,810
‫Mas isso não funciona realmente, mas de qualquer

125
00:06:00,810 --> 00:06:03,684
‫forma, não importa, podemos simplesmente voltar ao

126
00:06:03,684 --> 00:06:06,490
‫último comando e depois corrigi-lo.

127
00:06:06,490 --> 00:06:09,190
‫Portanto, esta é a chave que estava

128
00:06:09,190 --> 00:06:11,213
‫faltando, feche-a e vamos lá.

129
00:06:11,213 --> 00:06:16,213
‫Então db. passeios. encontre apenas para verificar agora.

130
00:06:18,530 --> 00:06:21,100
‫E aqui temos o último que agora

131
00:06:21,100 --> 00:06:23,300
‫tem premium definido como verdadeiro.

132
00:06:23,300 --> 00:06:25,797
‫E, novamente, este foi o único documento

133
00:06:25,797 --> 00:06:30,000
‫que correspondeu à nossa consulta e, portanto, é o único que

134
00:06:30,000 --> 00:06:31,365
‫obteve essa

135
00:06:31,365 --> 00:06:34,120
‫nova propriedade premium aqui, mas se houvesse

136
00:06:34,120 --> 00:06:37,200
‫vários documentos correspondendo a essa consulta, todos eles

137
00:06:37,200 --> 00:06:39,100
‫teriam obtido esse prémio verdadeiro.

138
00:06:39,100 --> 00:06:39,933
‫OK?

139
00:06:39,933 --> 00:06:42,680
‫Então é por isso que usamos. updatemany e

140
00:06:42,680 --> 00:06:45,463
‫lembre-se se usamos. updateone então apenas

141
00:06:45,463 --> 00:06:48,460
‫o primeiro documento correspondente à consulta é atualizado.

142
00:06:48,460 --> 00:06:49,293
‫OK?

143
00:06:49,293 --> 00:06:53,110
‫Então é assim que atualizamos os documentos, pelo menos

144
00:06:53,110 --> 00:06:57,210
‫parcialmente com isso. updatemany ou. updateone geralmente

145
00:06:57,210 --> 00:07:00,440
‫atualizamos apenas partes do documento, mas também

146
00:07:00,440 --> 00:07:03,710
‫podemos substituir completamente o conteúdo do documento.

147
00:07:03,710 --> 00:07:05,870
‫E para isso usamos. substituir um.

148
00:07:05,870 --> 00:07:08,100
‫Não vou fazer isso, mas para

149
00:07:08,100 --> 00:07:11,360
‫ser mais completo, também gostaria de mostrar a você.

150
00:07:11,360 --> 00:07:16,360
‫Então db. passeios. substitua um ou. substitua muitos, ok?

151
00:07:17,570 --> 00:07:19,700
‫E aqui, como antes, você passaria

152
00:07:19,700 --> 00:07:22,740
‫a consulta de pesquisa e os novos dados que

153
00:07:22,740 --> 00:07:24,763
‫deseja colocar neste documento.

154
00:07:24,763 --> 00:07:27,633
‫Tudo bem, não vou fazer isso aqui.

155
00:07:29,180 --> 00:07:31,630
‫Mas agora você sabe que ele também existe.

156
00:07:31,630 --> 00:07:34,645
‫E assim temos três de nossas operações

157
00:07:34,645 --> 00:07:36,610
‫corretas já concluídas.

158
00:07:36,610 --> 00:07:40,063
‫Assim, criando, lendo e atualizando e como você

159
00:07:40,063 --> 00:07:43,000
‫pode adivinhar no próximo vídeo, falaremos sobre

160
00:07:43,000 --> 00:07:44,853
‫a exclusão de documentos.

