﻿1
00:00:01,180 --> 00:00:02,570
‫-: Content de te revoir.

2
00:00:02,570 --> 00:00:05,269
‫J'espère que vous vous amusez jusqu'à présent dans cette section.

3
00:00:05,269 --> 00:00:08,429
‫Je sais que je le suis et continuons donc

4
00:00:08,429 --> 00:00:12,683
‫maintenant à avancer et à apprendre à mettre à jour des documents avec Mongodb.

5
00:00:14,720 --> 00:00:17,087
‫Donc, de retour dans notre mongoshell,

6
00:00:17,087 --> 00:00:20,807
‫utilisons maintenant db. tournées. updateOne.

7
00:00:23,884 --> 00:00:25,150
‫D'accord?

8
00:00:25,150 --> 00:00:28,050
‫C'est donc similaire à . insertone que nous avons

9
00:00:28,050 --> 00:00:29,760
‫utilisé pour créer un nouveau document.

10
00:00:29,760 --> 00:00:32,430
‫Et rappelez-vous comment nous avons également eu. insertmany et donc

11
00:00:32,430 --> 00:00:35,120
‫nous avons aussi . mise à jour beaucoup.

12
00:00:35,120 --> 00:00:37,640
‫Maintenant, comment . mise à jourbeaucoup de travail ?

13
00:00:37,640 --> 00:00:39,776
‫Eh bien, nous devons d'abord sélectionner

14
00:00:39,776 --> 00:00:42,992
‫les documents que nous voulons réellement mettre à jour et,

15
00:00:42,992 --> 00:00:46,460
‫deuxièmement, nous devons transmettre les données qui doivent être mises à jour.

16
00:00:46,460 --> 00:00:49,277
‫Ainsi, le premier argument est essentiellement un objet

17
00:00:49,277 --> 00:00:52,120
‫filtre, comme nous l'avons appris dans la dernière leçon.

18
00:00:52,120 --> 00:00:54,286
‫Nous devons donc essentiellement rechercher

19
00:00:54,286 --> 00:00:57,510
‫les documents que nous voulons mettre à jour et

20
00:00:57,510 --> 00:01:00,012
‫commençons par cela de manière très simple.

21
00:01:00,012 --> 00:01:02,150
‫Je vais donc simplement sélectionner en

22
00:01:02,150 --> 00:01:03,150
‫fonction du

23
00:01:05,230 --> 00:01:06,623
‫nom The Snow Adventure.

24
00:01:08,890 --> 00:01:09,723
‫D'accord?

25
00:01:09,723 --> 00:01:11,935
‫C'est donc mon objet de filtre très

26
00:01:11,935 --> 00:01:15,690
‫simple, donc en spécifiant la tournée que je veux mettre à jour Et

27
00:01:15,690 --> 00:01:17,500
‫maintenant, le deuxième objet que

28
00:01:17,500 --> 00:01:21,120
‫je dois spécifier est ce que je veux réellement mettre à jour.

29
00:01:21,120 --> 00:01:24,930
‫Donc un autre objet ici et puis nous fermons la fonction.

30
00:01:24,930 --> 00:01:28,500
‫Et donc ici, nous devons utiliser l'opérateur set.

31
00:01:28,500 --> 00:01:31,455
‫Donc, encore une fois, cela fonctionne en utilisant des

32
00:01:31,455 --> 00:01:35,820
‫opérateurs comme dans ces requêtes complexes que nous avons vues dans la dernière vidéo.

33
00:01:35,820 --> 00:01:39,342
‫Donc défini et ensuite nous devons créer encore un autre

34
00:01:39,342 --> 00:01:43,280
‫objet et enfin dans celui-ci nous pouvons spécifier la propriété que nous

35
00:01:43,280 --> 00:01:47,013
‫voulons mettre à jour et la valeur que nous voulons lui attribuer.

36
00:01:48,140 --> 00:01:49,792
‫Donc, dans ce cas,

37
00:01:49,792 --> 00:01:53,403
‫ce que nous voulons faire, c'est fixer le prix à 597.

38
00:01:54,600 --> 00:01:55,433
‫D'accord?

39
00:01:55,433 --> 00:01:58,710
‫Celui-ci était donc de 497 et nous l'augmentons

40
00:01:58,710 --> 00:02:01,272
‫maintenant, en gros, à 597.

41
00:02:01,272 --> 00:02:02,430
‫D'accord?

42
00:02:02,430 --> 00:02:06,380
‫Alors appuyons sur retour et c'est ensuite mis à jour, notre tournée.

43
00:02:06,380 --> 00:02:08,651
‫Maintenant, si cette requête ici aurait

44
00:02:08,651 --> 00:02:10,778
‫correspondu à plusieurs documents.

45
00:02:10,778 --> 00:02:13,034
‫Je ne peux pas le sélectionner pour une raison

46
00:02:13,034 --> 00:02:14,590
‫quelconque, mais vous pouvez le voir.

47
00:02:14,590 --> 00:02:16,656
‫Donc, si cette requête que nous

48
00:02:16,656 --> 00:02:19,710
‫avons faite ici avait sélectionné plusieurs documents, seul le

49
00:02:19,710 --> 00:02:22,220
‫premier aurait été mis à jour car nous

50
00:02:22,220 --> 00:02:24,091
‫utilisions . updatemain.

51
00:02:24,091 --> 00:02:26,566
‫Et donc si nous savons déjà à l'avance que

52
00:02:26,566 --> 00:02:29,020
‫notre requête va correspondre à plusieurs documents, alors nous

53
00:02:29,020 --> 00:02:30,900
‫devons utiliser . updatemany et

54
00:02:30,900 --> 00:02:32,430
‫non. mettre à jour un.

55
00:02:32,430 --> 00:02:33,263
‫D'accord?

56
00:02:33,263 --> 00:02:35,380
‫Maintenant, juste pour vous montrer

57
00:02:35,380 --> 00:02:38,560
‫que cela a réellement fonctionné, examinons tous les documents.

58
00:02:38,560 --> 00:02:43,560
‫Donc db. tournées. trouver et, en effet, nous

59
00:02:44,550 --> 00:02:46,650
‫avons The Snow Adventure ici avec

60
00:02:46,650 --> 00:02:48,140
‫le nouveau prix.

61
00:02:48,140 --> 00:02:48,973
‫Super.

62
00:02:48,973 --> 00:02:52,390
‫Nous avons donc mis à jour une propriété qui existait déjà.

63
00:02:52,390 --> 00:02:55,280
‫Le prix était donc déjà là et nous

64
00:02:55,280 --> 00:02:58,590
‫l'avons simplement défini sur une nouvelle valeur, mais nous pouvons également

65
00:02:58,590 --> 00:03:02,500
‫créer de nouvelles propriétés et les définir sur de nouvelles valeurs, bien sûr.

66
00:03:02,500 --> 00:03:04,930
‫Et cela fonctionne en fait de la même manière,

67
00:03:04,930 --> 00:03:06,870
‫mais laissez-moi vous le montrer quand même.

68
00:03:06,870 --> 00:03:09,740
‫Et ce que je veux faire ici, c'est trouver des

69
00:03:09,740 --> 00:03:12,734
‫circuits premium et leur donner un champ premium défini sur true.

70
00:03:12,734 --> 00:03:15,740
‫Alors, quels sont nos circuits premium ?

71
00:03:15,740 --> 00:03:18,453
‫Eh bien, faisons d'abord une recherche.

72
00:03:19,290 --> 00:03:21,960
‫Donc juste pour spécifier cette requête.

73
00:03:21,960 --> 00:03:24,430
‫Et en fait, nous l'avons déjà fait avant.

74
00:03:24,430 --> 00:03:27,880
‫Ainsi, les circuits que je souhaite doivent avoir un prix supérieur à 500

75
00:03:27,880 --> 00:03:32,340
‫et une note supérieure ou égale à 4. 8.

76
00:03:32,340 --> 00:03:35,366
‫Ce sont donc vraiment nos circuits premium, en gros,

77
00:03:35,366 --> 00:03:38,040
‫donc vraiment ceux qui sont les plus

78
00:03:38,040 --> 00:03:39,960
‫chers et les mieux notés.

79
00:03:39,960 --> 00:03:43,630
‫Donc, pour créer cette requête, c'est en fait assez simple.

80
00:03:43,630 --> 00:03:47,090
‫Et encore parce que nous l'avons déjà fait avant.

81
00:03:47,090 --> 00:03:49,709
‫Maintenant, ce que je veux que vous fassiez ici, c'est de

82
00:03:49,709 --> 00:03:51,592
‫mettre la vidéo en pause et même

83
00:03:51,592 --> 00:03:54,150
‫si vous vous en souvenez, tapez cette requête par vous-même.

84
00:03:54,150 --> 00:03:56,929
‫Et si vous ne vous en souvenez pas, c'est encore mieux alors

85
00:03:56,929 --> 00:03:58,921
‫vous pouvez mettre en pratique ce que vous venez

86
00:03:58,921 --> 00:04:00,202
‫d'apprendre dans la dernière vidéo.

87
00:04:00,202 --> 00:04:01,450
‫D'accord?

88
00:04:01,450 --> 00:04:04,001
‫Alors s'il vous plaît, mettez la vidéo en pause ici

89
00:04:04,001 --> 00:04:06,410
‫et essayez de trouver cette requête par vous-même.

90
00:04:06,410 --> 00:04:08,640
‫Encore une fois, nous voulons que le prix soit supérieur à 500 et

91
00:04:08,640 --> 00:04:11,983
‫que la note soit supérieure ou égale à 4. 8.

92
00:04:18,970 --> 00:04:20,950
‫D'accord, j'espère que vous l'avez fait.

93
00:04:20,950 --> 00:04:23,070
‫Et c'est la solution.

94
00:04:23,070 --> 00:04:28,070
‫Le prix doit donc être supérieur ou égal à 500 et la note doit

95
00:04:29,533 --> 00:04:34,533
‫être supérieure ou égale à 4. 8.

96
00:04:39,990 --> 00:04:41,080
‫D'accord?

97
00:04:41,080 --> 00:04:43,450
‫Et ici, nous définissons juste plus grand que ce

98
00:04:43,450 --> 00:04:45,200
‫qui est en fait le même.

99
00:04:45,200 --> 00:04:47,020
‫Ça va nous donner le même résultat.

100
00:04:47,020 --> 00:04:49,893
‫Mais peu importe, faisons-le exactement comme je l'ai dit.

101
00:04:50,830 --> 00:04:54,310
‫Et donc juste pour être sûr, voyons si nous obtenons

102
00:04:54,310 --> 00:04:57,491
‫le résultat parfait et en effet c'est la

103
00:04:57,491 --> 00:05:01,000
‫tournée qui a ce prix premium et en même temps

104
00:05:01,000 --> 00:05:02,220
‫cette note premium.

105
00:05:02,220 --> 00:05:03,570
‫D'accord?

106
00:05:03,570 --> 00:05:06,500
‫Et dans ce cas, nous n'avons qu'un seul résultat

107
00:05:06,500 --> 00:05:09,230
‫mais, bien sûr, nous pouvons avoir plusieurs résultats.

108
00:05:09,230 --> 00:05:12,310
‫Et donc utilisons maintenant . mise à jour beaucoup.

109
00:05:12,310 --> 00:05:15,220
‫Donc db. tournées. mise à jour beaucoup.

110
00:05:19,443 --> 00:05:22,670
‫Et donc notre objet filtre que nous voulons est celui-ci.

111
00:05:22,670 --> 00:05:24,320
‫Donc je le copie juste d'ici.

112
00:05:26,220 --> 00:05:28,739
‫C'est donc le premier argument, puis le

113
00:05:28,739 --> 00:05:32,100
‫deuxième est en fait ce que nous voulons mettre à jour.

114
00:05:32,100 --> 00:05:33,300
‫Vous vous en souvenez ?

115
00:05:33,300 --> 00:05:36,270
‫Donc encore une fois, nous utilisons l'opérateur set

116
00:05:36,270 --> 00:05:40,287
‫et ensuite nous disons que nous voulons que premium soit vrai.

117
00:05:40,287 --> 00:05:41,200
‫D'accord?

118
00:05:41,200 --> 00:05:43,892
‫Et donc cette fois, nous créons en fait un nouveau champ

119
00:05:43,892 --> 00:05:45,822
‫ici et nous le définissons sur true.

120
00:05:45,822 --> 00:05:46,713
‫D'accord?

121
00:05:46,713 --> 00:05:50,130
‫Donnez-lui une sauvegarde et en fait, il nous manquait une

122
00:05:50,130 --> 00:05:53,787
‫accolade de fermeture et nous ne pouvons donc pas vraiment revenir en

123
00:05:53,787 --> 00:05:56,353
‫arrière, alors laissez-moi essayer de l'ajouter ici.

124
00:05:57,580 --> 00:06:00,810
‫Mais, cela ne fonctionne pas vraiment, mais de toute façon,

125
00:06:00,810 --> 00:06:03,684
‫cela n'a pas d'importance, nous pouvons simplement revenir

126
00:06:03,684 --> 00:06:06,490
‫à la dernière commande, puis la corriger.

127
00:06:06,490 --> 00:06:09,190
‫C'est donc le croisillon qui nous manquait

128
00:06:09,190 --> 00:06:11,213
‫alors fermez-le et c'est parti.

129
00:06:11,213 --> 00:06:16,213
‫Donc db. tournées. trouver juste pour le vérifier maintenant.

130
00:06:18,530 --> 00:06:21,100
‫Et ici, nous avons le dernier qui a maintenant

131
00:06:21,100 --> 00:06:23,300
‫la valeur premium définie sur true.

132
00:06:23,300 --> 00:06:25,797
‫Et encore une fois, c'était le seul

133
00:06:25,797 --> 00:06:30,000
‫document qui correspondait à notre requête et c'est donc le seul qui

134
00:06:30,000 --> 00:06:31,365
‫a obtenu

135
00:06:31,365 --> 00:06:34,120
‫cette nouvelle propriété premium ici, mais s'il y

136
00:06:34,120 --> 00:06:37,200
‫avait plusieurs documents correspondant à cette requête, alors tous

137
00:06:37,200 --> 00:06:39,100
‫auraient obtenu cette prime vraie.

138
00:06:39,100 --> 00:06:39,933
‫D'accord?

139
00:06:39,933 --> 00:06:42,680
‫C'est pourquoi nous avons utilisé . updatemany et rappelez-vous

140
00:06:42,680 --> 00:06:45,463
‫si nous avons utilisé . updateone alors seul le

141
00:06:45,463 --> 00:06:48,460
‫premier document correspondant à la requête est mis à jour.

142
00:06:48,460 --> 00:06:49,293
‫D'accord?

143
00:06:49,293 --> 00:06:53,110
‫C'est ainsi que nous mettons à jour les documents au moins partiellement

144
00:06:53,110 --> 00:06:57,210
‫avec ce fichier . updatemany ou . updateone, nous ne

145
00:06:57,210 --> 00:07:00,440
‫mettons généralement à jour que des parties du document,

146
00:07:00,440 --> 00:07:03,710
‫mais nous pouvons également remplacer complètement le contenu du document.

147
00:07:03,710 --> 00:07:05,870
‫Et pour cela nous utilisons . remplacer un.

148
00:07:05,870 --> 00:07:08,100
‫Je ne vais pas le faire,

149
00:07:08,100 --> 00:07:11,360
‫mais par souci d'exhaustivité, je voulais aussi vous le montrer.

150
00:07:11,360 --> 00:07:16,360
‫Donc db. tournées. remplacer un ou . remplacer beaucoup, d'accord ?

151
00:07:17,570 --> 00:07:19,700
‫Et donc ici, comme avant, vous passeriez

152
00:07:19,700 --> 00:07:22,740
‫la requête de recherche, puis les nouvelles données que vous

153
00:07:22,740 --> 00:07:24,763
‫souhaitez mettre dans ce document.

154
00:07:24,763 --> 00:07:27,633
‫Très bien, je ne vais pas faire ça ici.

155
00:07:29,180 --> 00:07:31,630
‫Mais maintenant vous savez qu'il existe aussi.

156
00:07:31,630 --> 00:07:34,645
‫Et comme ça, nous avons déjà terminé trois

157
00:07:34,645 --> 00:07:36,610
‫de nos opérations correctes.

158
00:07:36,610 --> 00:07:40,063
‫Donc créer, lire et mettre à jour et comme vous pouvez

159
00:07:40,063 --> 00:07:43,000
‫le deviner dans la prochaine vidéo, nous parlerons

160
00:07:43,000 --> 00:07:44,853
‫de la suppression de documents.

