﻿1
00:00:01,180 --> 00:00:02,570
‫-: Willkommen zurück.

2
00:00:02,570 --> 00:00:05,269
‫Ich hoffe, Sie haben bisher Spaß in diesem Abschnitt.

3
00:00:05,269 --> 00:00:08,429
‫Ich weiß, dass ich es bin, und lassen

4
00:00:08,429 --> 00:00:12,683
‫Sie uns jetzt weitermachen und lernen, wie man Dokumente mit Mongodb aktualisiert.

5
00:00:14,720 --> 00:00:17,087
‫Also zurück in unserer Mongoshell verwenden

6
00:00:17,087 --> 00:00:20,807
‫wir jetzt db. Touren. updateOne.

7
00:00:23,884 --> 00:00:25,150
‫Okay?

8
00:00:25,150 --> 00:00:28,050
‫Das ist also ähnlich. insertone, mit dem wir

9
00:00:28,050 --> 00:00:29,760
‫ein neues Dokument erstellt haben.

10
00:00:29,760 --> 00:00:32,430
‫Und denken Sie daran, wie wir auch hatten. insertmany und so

11
00:00:32,430 --> 00:00:35,120
‫haben wir auch . viele aktualisieren.

12
00:00:35,120 --> 00:00:37,640
‫Wie geht es nun. viele Arbeiten aktualisieren?

13
00:00:37,640 --> 00:00:39,776
‫Nun, zuerst müssen wir auswählen,

14
00:00:39,776 --> 00:00:42,992
‫welche Dokumente wir tatsächlich aktualisieren möchten, und zweitens

15
00:00:42,992 --> 00:00:46,460
‫müssen wir die Daten übergeben, die aktualisiert werden sollen.

16
00:00:46,460 --> 00:00:49,277
‫Das erste Argument ist also im Grunde ein

17
00:00:49,277 --> 00:00:52,120
‫Filterobjekt, wie wir es in der letzten Vorlesung gelernt haben.

18
00:00:52,120 --> 00:00:54,286
‫Wir müssen also grundsätzlich nach

19
00:00:54,286 --> 00:00:57,510
‫den Dokumenten fragen, die wir aktualisieren möchten, und beginnen

20
00:00:57,510 --> 00:01:00,012
‫wir damit auf sehr einfache Weise.

21
00:01:00,012 --> 00:01:02,150
‫Also wähle ich einfach nach

22
00:01:02,150 --> 00:01:03,150
‫dem Namen

23
00:01:05,230 --> 00:01:06,623
‫The Snow Adventure.

24
00:01:08,890 --> 00:01:09,723
‫Okay?

25
00:01:09,723 --> 00:01:11,935
‫Das ist also mein sehr einfaches

26
00:01:11,935 --> 00:01:15,690
‫Filterobjekt, das die Tour angibt, die ich aktualisieren möchte. Und nun

27
00:01:15,690 --> 00:01:17,500
‫ist das zweite Objekt,

28
00:01:17,500 --> 00:01:21,120
‫das ich angeben muss, das, was ich tatsächlich aktualisieren möchte.

29
00:01:21,120 --> 00:01:24,930
‫Also noch ein Objekt hier und dann schließen wir die Funktion.

30
00:01:24,930 --> 00:01:28,500
‫Also müssen wir hier den Mengenoperator verwenden.

31
00:01:28,500 --> 00:01:31,455
‫Dies funktioniert also wieder mit Operatoren wie

32
00:01:31,455 --> 00:01:35,820
‫in diesen komplexen Abfragen, die wir im letzten Video gesehen haben.

33
00:01:35,820 --> 00:01:39,342
‫Also setze und dann müssen wir noch ein weiteres Objekt

34
00:01:39,342 --> 00:01:43,280
‫erstellen und schließlich können wir in diesem die Eigenschaft angeben, die wir

35
00:01:43,280 --> 00:01:47,013
‫aktualisieren möchten, und den Wert, auf den wir sie setzen möchten.

36
00:01:48,140 --> 00:01:49,792
‫In diesem Fall

37
00:01:49,792 --> 00:01:53,403
‫möchten wir also den Preis auf 597 festlegen.

38
00:01:54,600 --> 00:01:55,433
‫Gut?

39
00:01:55,433 --> 00:01:58,710
‫Dieser war also 497 und wir erhöhen ihn

40
00:01:58,710 --> 00:02:01,272
‫jetzt im Grunde auf 597.

41
00:02:01,272 --> 00:02:02,430
‫Gut?

42
00:02:02,430 --> 00:02:06,380
‫Also lass uns zurück drücken und dann ist unsere Tour aktualisiert.

43
00:02:06,380 --> 00:02:08,651
‫Nun, wenn diese Abfrage hier

44
00:02:08,651 --> 00:02:10,778
‫mehrere Dokumente gefunden hätte.

45
00:02:10,778 --> 00:02:13,034
‫Ich kann es aus irgendeinem Grund nicht auswählen,

46
00:02:13,034 --> 00:02:14,590
‫aber Sie können es sehen.

47
00:02:14,590 --> 00:02:16,656
‫Wenn also diese Abfrage, die

48
00:02:16,656 --> 00:02:19,710
‫wir hier durchgeführt haben, mehrere Dokumente ausgewählt hätte, wäre

49
00:02:19,710 --> 00:02:22,220
‫nur das erste aktualisiert worden, da wir

50
00:02:22,220 --> 00:02:24,091
‫verwendet haben. updatemain.

51
00:02:24,091 --> 00:02:26,566
‫Wenn wir also bereits im Voraus wissen, dass

52
00:02:26,566 --> 00:02:29,020
‫unsere Abfrage mit mehreren Dokumenten übereinstimmen wird, sollten

53
00:02:29,020 --> 00:02:30,900
‫wir . updatemany und

54
00:02:30,900 --> 00:02:32,430
‫nicht. updateone.

55
00:02:32,430 --> 00:02:33,263
‫Okay?

56
00:02:33,263 --> 00:02:35,380
‫Um Ihnen jetzt zu zeigen, dass

57
00:02:35,380 --> 00:02:38,560
‫es tatsächlich funktioniert hat, werfen wir einen Blick auf alle Dokumente.

58
00:02:38,560 --> 00:02:43,560
‫Also db. Touren. finden und tatsächlich haben

59
00:02:44,550 --> 00:02:46,650
‫wir hier The Snow Adventure

60
00:02:46,650 --> 00:02:48,140
‫zum neuen Preis.

61
00:02:48,140 --> 00:02:48,973
‫Groß.

62
00:02:48,973 --> 00:02:52,390
‫Also haben wir eine bereits vorhandene Immobilie aktualisiert.

63
00:02:52,390 --> 00:02:55,280
‫Der Preis war also schon da und

64
00:02:55,280 --> 00:02:58,590
‫wir setzen ihn einfach auf einen neuen Wert, aber wir

65
00:02:58,590 --> 00:03:02,500
‫können natürlich auch neue Eigenschaften anlegen und diese auf neue Werte setzen.

66
00:03:02,500 --> 00:03:04,930
‫Und es funktioniert tatsächlich genauso, aber ich

67
00:03:04,930 --> 00:03:06,870
‫zeige es Ihnen trotzdem.

68
00:03:06,870 --> 00:03:09,740
‫Und ich möchte hier Premium-Touren finden

69
00:03:09,740 --> 00:03:12,734
‫und ihnen ein Premium-Feld auf true setzen.

70
00:03:12,734 --> 00:03:15,740
‫Was sind unsere Premium-Touren?

71
00:03:15,740 --> 00:03:18,453
‫Nun, lassen Sie uns zuerst eine Suche machen.

72
00:03:19,290 --> 00:03:21,960
‫Also nur um diese Abfrage zu spezifizieren.

73
00:03:21,960 --> 00:03:24,430
‫Und das haben wir eigentlich schon früher gemacht.

74
00:03:24,430 --> 00:03:27,880
‫Die Touren, die ich möchte, sollten also einen Preis von mehr als 500 und

75
00:03:27,880 --> 00:03:32,340
‫eine Bewertung von größer oder gleich 4 haben. 8.

76
00:03:32,340 --> 00:03:35,366
‫Dies sind im Grunde also unsere

77
00:03:35,366 --> 00:03:38,040
‫Premium-Touren, die am teuersten und am

78
00:03:38,040 --> 00:03:39,960
‫besten bewertet sind.

79
00:03:39,960 --> 00:03:43,630
‫Diese Abfrage zu erstellen ist eigentlich ganz einfach.

80
00:03:43,630 --> 00:03:47,090
‫Und noch einmal, weil wir es eigentlich schon früher gemacht haben.

81
00:03:47,090 --> 00:03:49,709
‫Jetzt möchte ich, dass Sie das Video anhalten

82
00:03:49,709 --> 00:03:51,592
‫und diese Abfrage selbst

83
00:03:51,592 --> 00:03:54,150
‫eingeben, selbst wenn Sie sich daran erinnern.

84
00:03:54,150 --> 00:03:56,929
‫Und wenn Sie sich nicht daran erinnern, ist das noch

85
00:03:56,929 --> 00:03:58,921
‫besser, wenn Sie das gerade im letzten

86
00:03:58,921 --> 00:04:00,202
‫Video gelernte üben können.

87
00:04:00,202 --> 00:04:01,450
‫Gut?

88
00:04:01,450 --> 00:04:04,001
‫Bitte pausieren Sie das Video hier und versuchen

89
00:04:04,001 --> 00:04:06,410
‫Sie, diese Abfrage selbst zu erstellen.

90
00:04:06,410 --> 00:04:08,640
‫Wir möchten also wieder, dass der Preis größer als 500 und

91
00:04:08,640 --> 00:04:11,983
‫die Bewertung größer oder gleich 4 ist. 8.

92
00:04:18,970 --> 00:04:20,950
‫Okay, ich hoffe du hast es geschafft.

93
00:04:20,950 --> 00:04:23,070
‫Und das ist die Lösung.

94
00:04:23,070 --> 00:04:28,070
‫Der Preis sollte also größer oder gleich 500 sein und die Bewertung

95
00:04:29,533 --> 00:04:34,533
‫sollte größer oder gleich 4 sein. 8.

96
00:04:39,990 --> 00:04:41,080
‫Okay?

97
00:04:41,080 --> 00:04:43,450
‫Und hier setzen wir eben größer als

98
00:04:43,450 --> 00:04:45,200
‫das eigentlich gleich ist.

99
00:04:45,200 --> 00:04:47,020
‫Es wird uns das gleiche Ergebnis liefern.

100
00:04:47,020 --> 00:04:49,893
‫Aber egal, machen wir es genau so, wie ich es gesagt habe.

101
00:04:50,830 --> 00:04:54,310
‫Um sicher zu gehen, sehen wir also, ob

102
00:04:54,310 --> 00:04:57,491
‫wir das perfekte Ergebnis erzielen und tatsächlich ist

103
00:04:57,491 --> 00:05:01,000
‫dies die Tour, die diesen Premium-Preis und gleichzeitig diese

104
00:05:01,000 --> 00:05:02,220
‫Premium-Bewertung hat.

105
00:05:02,220 --> 00:05:03,570
‫Okay?

106
00:05:03,570 --> 00:05:06,500
‫Und in diesem Fall haben wir nur ein Ergebnis,

107
00:05:06,500 --> 00:05:09,230
‫aber natürlich können wir mehrere Ergebnisse haben.

108
00:05:09,230 --> 00:05:12,310
‫Und so verwenden wir jetzt . viele aktualisieren.

109
00:05:12,310 --> 00:05:15,220
‫Also db. Touren. viele aktualisieren.

110
00:05:19,443 --> 00:05:22,670
‫Und so ist unser Filterobjekt, das wir wollen, dieses.

111
00:05:22,670 --> 00:05:24,320
‫Also kopiere ich es einfach von hier.

112
00:05:26,220 --> 00:05:28,739
‫Das ist also das erste Argument

113
00:05:28,739 --> 00:05:32,100
‫und dann das zweite, was wir eigentlich aktualisieren wollen.

114
00:05:32,100 --> 00:05:33,300
‫Erinnere dich daran?

115
00:05:33,300 --> 00:05:36,270
‫Also verwenden wir wieder den Mengenoperator

116
00:05:36,270 --> 00:05:40,287
‫und sagen dann, dass wir Premium wahr machen wollen.

117
00:05:40,287 --> 00:05:41,200
‫Okay?

118
00:05:41,200 --> 00:05:43,892
‫Und so erstellen wir diesmal tatsächlich ein neues Feld

119
00:05:43,892 --> 00:05:45,822
‫hier und setzen es auf true.

120
00:05:45,822 --> 00:05:46,713
‫Okay?

121
00:05:46,713 --> 00:05:50,130
‫Speichern Sie das und tatsächlich haben wir eine schließende

122
00:05:50,130 --> 00:05:53,787
‫Klammer vermisst und können daher nicht wirklich zurückgehen, also lassen

123
00:05:53,787 --> 00:05:56,353
‫Sie mich versuchen, es hier hinzuzufügen.

124
00:05:57,580 --> 00:06:00,810
‫Aber das funktioniert nicht wirklich, aber egal,

125
00:06:00,810 --> 00:06:03,684
‫wir können einfach zum letzten Befehl

126
00:06:03,684 --> 00:06:06,490
‫zurückkehren und ihn dann korrigieren.

127
00:06:06,490 --> 00:06:09,190
‫Das ist also die Klammer, die uns gefehlt hat,

128
00:06:09,190 --> 00:06:11,213
‫dann schließe sie und los gehts.

129
00:06:11,213 --> 00:06:16,213
‫Also db. Touren. nur um es jetzt zu überprüfen.

130
00:06:18,530 --> 00:06:21,100
‫Und hier haben wir den letzten, bei dem

131
00:06:21,100 --> 00:06:23,300
‫jetzt Premium auf True gesetzt ist.

132
00:06:23,300 --> 00:06:25,797
‫Und wieder war dies das einzige

133
00:06:25,797 --> 00:06:30,000
‫Dokument, das unserer Abfrage entsprach, und daher ist es das

134
00:06:30,000 --> 00:06:31,365
‫einzige, das

135
00:06:31,365 --> 00:06:34,120
‫diese neue Premium-Eigenschaft hier erhalten hat, aber

136
00:06:34,120 --> 00:06:37,200
‫wenn mehrere Dokumente dieser Abfrage entsprechen, hätten alle

137
00:06:37,200 --> 00:06:39,100
‫diese Prämie wahr gemacht.

138
00:06:39,100 --> 00:06:39,933
‫Okay?

139
00:06:39,933 --> 00:06:42,680
‫Deshalb haben wir . updatemany und denken

140
00:06:42,680 --> 00:06:45,463
‫Sie daran, wenn wir . updateone dann wird

141
00:06:45,463 --> 00:06:48,460
‫nur das erste Dokument aktualisiert, das der Abfrage entspricht.

142
00:06:48,460 --> 00:06:49,293
‫Okay?

143
00:06:49,293 --> 00:06:53,110
‫So aktualisieren wir Dokumente zumindest teilweise mit

144
00:06:53,110 --> 00:06:57,210
‫diesem . updateviele oder . updateone aktualisieren wir

145
00:06:57,210 --> 00:07:00,440
‫in der Regel nur Teile des Dokuments, können

146
00:07:00,440 --> 00:07:03,710
‫aber auch den Inhalt des Dokuments komplett ersetzen.

147
00:07:03,710 --> 00:07:05,870
‫Und dafür verwenden wir . ersetzen.

148
00:07:05,870 --> 00:07:08,100
‫Das werde ich nicht tun, aber

149
00:07:08,100 --> 00:07:11,360
‫der Vollständigkeit halber wollte ich es euch auch zeigen.

150
00:07:11,360 --> 00:07:16,360
‫Also db. Touren. Ersetzen oder . viele ersetzen, okay?

151
00:07:17,570 --> 00:07:19,700
‫Und so würden Sie hier wie zuvor

152
00:07:19,700 --> 00:07:22,740
‫die Suchanfrage übergeben und dann neue Daten, die Sie

153
00:07:22,740 --> 00:07:24,763
‫in dieses Dokument einfügen möchten.

154
00:07:24,763 --> 00:07:27,633
‫Okay, das werde ich hier nicht tun.

155
00:07:29,180 --> 00:07:31,630
‫Aber jetzt wissen Sie, dass es sie auch gibt.

156
00:07:31,630 --> 00:07:34,645
‫Und so haben wir drei unserer korrekten

157
00:07:34,645 --> 00:07:36,610
‫Operationen bereits abgeschlossen.

158
00:07:36,610 --> 00:07:40,063
‫So erstellen, lesen und aktualisieren und wie Sie im

159
00:07:40,063 --> 00:07:43,000
‫nächsten Video erraten können, werden wir über das

160
00:07:43,000 --> 00:07:44,853
‫Löschen von Dokumenten sprechen.

