﻿1
00:00:01,100 --> 00:00:02,990
‫Kursleiter: Machen wir

2
00:00:02,990 --> 00:00:04,900
‫jetzt eine kleine Pause beim

3
00:00:04,900 --> 00:00:07,080
‫Erstellen unserer API und erstellen Sie

4
00:00:07,080 --> 00:00:10,430
‫ein lustiges kleines Skript, das die Tourdaten aus

5
00:00:10,430 --> 00:00:12,930
‫unserer JSON-Datei in die MongoDB-Datenbank importiert.

6
00:00:12,930 --> 00:00:14,240
‫Und ich war

7
00:00:14,240 --> 00:00:16,850
‫mir nicht ganz sicher, ob ich dieses Video

8
00:00:16,850 --> 00:00:19,620
‫in den Kurs einbauen sollte oder ob ich

9
00:00:19,620 --> 00:00:22,690
‫das Skript einfach schon in den Kursstarterdateien mitbringen sollte.

10
00:00:22,690 --> 00:00:25,710
‫Aber ich dachte, ich dachte, es wäre eine nette kleine

11
00:00:25,710 --> 00:00:27,560
‫Übung und habe sie trotzdem aufgenommen.

12
00:00:27,560 --> 00:00:30,023
‫Also, lass uns jetzt loslegen.

13
00:00:31,860 --> 00:00:34,233
‫Im Grunde werden wir also ein

14
00:00:34,233 --> 00:00:37,200
‫Skript erstellen, das einfach die Daten aus der

15
00:00:37,200 --> 00:00:39,730
‫JSON-Datei wie gesagt in die Datenbank lädt.

16
00:00:39,730 --> 00:00:42,090
‫Und dieses Skript ist

17
00:00:42,090 --> 00:00:44,560
‫völlig unabhängig vom Rest unserer Express-Anwendung.

18
00:00:44,560 --> 00:00:46,990
‫Und so führen wir dies komplett

19
00:00:46,990 --> 00:00:50,720
‫getrennt von der Kommentarzeile aus, nur um alles einmal zu importieren.

20
00:00:50,720 --> 00:00:53,310
‫Okay, lassen Sie mich das

21
00:00:53,310 --> 00:00:56,330
‫Skript direkt hier im Datenordner erstellen.

22
00:00:56,330 --> 00:00:57,433
‫Also neue

23
00:00:58,780 --> 00:00:59,623
‫Datei,

24
00:01:01,240 --> 00:01:03,543
‫Import, Dev-Daten. js.

25
00:01:04,400 --> 00:01:05,380
‫Gut.

26
00:01:05,380 --> 00:01:07,810
‫Also, was brauchen wir dafür?

27
00:01:07,810 --> 00:01:09,530
‫Wir werden natürlich Mungos

28
00:01:09,530 --> 00:01:11,370
‫brauchen, also fangen wir damit an.

29
00:01:11,370 --> 00:01:15,380
‫Oder gehen wir einfach weiter zum Server. js-Datei und kopieren Sie

30
00:01:15,380 --> 00:01:16,990
‫dieses Zeug, denn

31
00:01:16,990 --> 00:01:20,053
‫warum sollten Sie es noch einmal schreiben.

32
00:01:20,960 --> 00:01:23,320
‫Also lass uns alles kopieren

33
00:01:23,320 --> 00:01:26,090
‫und dann löschen, was wir nicht brauchen.

34
00:01:26,090 --> 00:01:28,410
‫Wir brauchen also nicht unsere Express-Bewerbung, wir brauchen

35
00:01:29,370 --> 00:01:31,370
‫auch die . env-Paket,

36
00:01:31,370 --> 00:01:33,740
‫weil wir unsere Umgebungsvariablen brauchen,

37
00:01:33,740 --> 00:01:38,740
‫um uns wieder mit der Datenbank verbinden zu können, okay.

38
00:01:38,970 --> 00:01:41,560
‫Und wir müssen in diesem Skript erneut eine

39
00:01:41,560 --> 00:01:44,220
‫Verbindung zur Datenbank herstellen, da es völlig unabhängig

40
00:01:44,220 --> 00:01:46,010
‫von der Express-Anwendung läuft.

41
00:01:46,010 --> 00:01:48,930
‫Es wird am Anfang nur einmal ausgeführt.

42
00:01:48,930 --> 00:01:52,690
‫Als nächstes benötigen wir Zugriff auf das Dateisystemmodul, da

43
00:01:52,690 --> 00:01:55,483
‫wir natürlich die JSON-Datei lesen möchten.

44
00:01:57,100 --> 00:01:58,700
‫Benötigen Sie also fs

45
00:01:59,910 --> 00:02:03,860
‫und schließlich brauchen wir auch Zugriff auf das Tourmodell, denn

46
00:02:03,860 --> 00:02:05,390
‫das Tourmodell ist

47
00:02:05,390 --> 00:02:08,993
‫der Ort, an den wir die Touren schreiben möchten, oder?

48
00:02:10,300 --> 00:02:12,560
‫Also, Tour ist gleich und

49
00:02:12,560 --> 00:02:14,870
‫jetzt lasst uns den Weg dorthin finden,

50
00:02:15,900 --> 00:02:18,410
‫also müssen wir von der Stelle, an der

51
00:02:18,410 --> 00:02:21,190
‫wir uns gerade befinden, eine Ebene höher gehen.

52
00:02:21,190 --> 00:02:24,023
‫Und was ist hier mit diesen Zitaten los?

53
00:02:25,800 --> 00:02:27,640
‫In Ordnung, also eine Ebene

54
00:02:27,640 --> 00:02:29,960
‫höher und wir sind in den Entwicklungsdaten.

55
00:02:29,960 --> 00:02:32,250
‫Wir brauchen also eine weitere Ebene nach oben,

56
00:02:32,250 --> 00:02:33,900
‫damit wir im Hauptordner sind.

57
00:02:33,900 --> 00:02:36,810
‫Und von dort aus gehen wir in die Modelle

58
00:02:36,810 --> 00:02:38,483
‫und in das Tourmodell ein.

59
00:02:39,910 --> 00:02:43,160
‫Okay und das sollte es für die Einrichtung sein.

60
00:02:43,160 --> 00:02:46,053
‫Beginnen wir nun mit dem Lesen der Datei.

61
00:02:47,340 --> 00:02:50,460
‫Lesen Sie also die JSON-Datei und das

62
00:02:50,460 --> 00:02:52,253
‫sollte ziemlich einfach sein.

63
00:02:54,250 --> 00:02:57,490
‫Die Touren sind also bei fs. readfile und wir

64
00:02:59,250 --> 00:03:01,700
‫können natürlich die synchrone Version verwenden.

65
00:03:02,820 --> 00:03:07,633
‫Und sagen wir einfach Touren einfach. json, okay.

66
00:03:08,467 --> 00:03:09,403
‫Und

67
00:03:10,260 --> 00:03:12,970
‫dann auch noch die Kodierung.

68
00:03:12,970 --> 00:03:15,233
‫Also, Dateicodierung, utf acht.

69
00:03:16,600 --> 00:03:17,563
‫Sparen Sie.

70
00:03:18,730 --> 00:03:21,540
‫Und so können wir jetzt die eigentliche

71
00:03:21,540 --> 00:03:24,393
‫Funktion schreiben, die die Daten in die Datenbank importiert.

72
00:03:25,750 --> 00:03:29,183
‫Importieren Sie also Daten in die Datenbank.

73
00:03:30,040 --> 00:03:32,380
‫Okay, einfach so.

74
00:03:32,380 --> 00:03:33,940
‫Und so erstellen wir diese Funktion.

75
00:03:33,940 --> 00:03:37,690
‫Daten importieren, Daten importieren,

76
00:03:37,690 --> 00:03:39,000
‫ja.

77
00:03:39,000 --> 00:03:40,980
‫Und das wird

78
00:03:43,010 --> 00:03:45,940
‫eine asynchrone Funktion sein, die

79
00:03:45,940 --> 00:03:50,913
‫keine Argumente benötigt, also verwenden wir hier wieder einen try-catch-Block.

80
00:03:53,902 --> 00:03:57,520
‫Und hier logge ich es einfach in die Konsole ein, wenn

81
00:03:57,520 --> 00:03:58,740
‫ein Fehler auftritt,

82
00:03:58,740 --> 00:04:02,350
‫nur um zu wissen, was in diesem Fall vor sich geht.

83
00:04:02,350 --> 00:04:03,183
‫Und jetzt

84
00:04:03,183 --> 00:04:05,900
‫hier, was wir tun werden, ist sehr einfach.

85
00:04:05,900 --> 00:04:07,253
‫Wir werden

86
00:04:08,100 --> 00:04:10,950
‫einfach warten, Tour. schaffen.

87
00:04:10,950 --> 00:04:13,200
‫Also haben wir schon Tour genutzt. erstellen und

88
00:04:13,200 --> 00:04:16,070
‫wir übergeben dann ein Objekt zurück dann richtig?

89
00:04:16,070 --> 00:04:20,930
‫Aber die Methode create kann auch ein Array von Objekten akzeptieren.

90
00:04:20,930 --> 00:04:22,010
‫Und in

91
00:04:22,010 --> 00:04:24,390
‫diesem Fall wird dann einfach für jedes

92
00:04:24,390 --> 00:04:26,663
‫Objekt im Array ein neues Dokument erstellt.

93
00:04:27,560 --> 00:04:28,920
‫Also ganz

94
00:04:28,920 --> 00:04:33,920
‫einfach, wir müssen hier nur unsere Tourendaten angeben, oder?

95
00:04:34,750 --> 00:04:37,520
‫Und tatsächlich ist es nicht 100% richtig, denn

96
00:04:37,520 --> 00:04:40,280
‫denken Sie daran, dass dies JSON ist.

97
00:04:40,280 --> 00:04:42,860
‫Also müssen wir es zuerst mit json

98
00:04:42,860 --> 00:04:47,423
‫tatsächlich in ein JavaScript-Objekt umwandeln. analysieren.

99
00:04:49,580 --> 00:04:52,380
‫Okay, und jetzt haben wir tatsächlich

100
00:04:52,380 --> 00:04:54,480
‫ein Array von

101
00:04:54,480 --> 00:04:59,220
‫JavaScript-Objekten, die wir jetzt an die create-Methode übergeben können, okay.

102
00:04:59,220 --> 00:05:00,950
‫Und wenn das

103
00:05:00,950 --> 00:05:03,290
‫erfolgreich war, wird die nächste

104
00:05:04,350 --> 00:05:08,660
‫Zeile ausgeführt und hier können wir sagen, dass die Daten

105
00:05:10,820 --> 00:05:12,910
‫erfolgreich geladen wurden, in Ordnung.

106
00:05:12,910 --> 00:05:15,060
‫Und dies sollte bereits den Job erledigen.

107
00:05:15,060 --> 00:05:19,300
‫Was ist nun mit den Daten, die sich bereits in der Datenbank befinden?

108
00:05:19,300 --> 00:05:21,150
‫Wir können auch eine

109
00:05:21,150 --> 00:05:24,620
‫einfache Möglichkeit schaffen, alle diese Daten gleichzeitig zu löschen.

110
00:05:24,620 --> 00:05:27,343
‫Also lass uns einfach weitermachen und das auch tun.

111
00:05:28,250 --> 00:05:30,750
‫Also alle Daten aus der

112
00:05:31,762 --> 00:05:33,823
‫Sammlung löschen, sagen wir.

113
00:05:35,260 --> 00:05:37,840
‫Und diese seltsame gelbe Farbe, die Sie hier

114
00:05:37,840 --> 00:05:41,070
‫sehen, stammt tatsächlich von einer Erweiterung, die ich hier installiert habe.

115
00:05:41,070 --> 00:05:42,820
‫Um das loszuwerden,

116
00:05:42,820 --> 00:05:45,633
‫schreibe ich einfach wieder die Datenbank, okay.

117
00:05:47,610 --> 00:05:49,110
‫Löschen Sie also Daten

118
00:05:50,460 --> 00:05:53,910
‫und dies wird wieder eine asynchrone Funktion ohne

119
00:05:53,910 --> 00:05:55,373
‫Argumente sein.

120
00:05:57,640 --> 00:05:59,880
‫Und lassen Sie mich diesen Code hier tatsächlich kopieren.

121
00:06:01,885 --> 00:06:03,170
‫Also, löschen

122
00:06:05,000 --> 00:06:07,520
‫Sie es und jetzt zum

123
00:06:07,520 --> 00:06:11,820
‫Löschen selbst können wir die Funktion "Viele löschen" verwenden.

124
00:06:11,820 --> 00:06:14,240
‫Okay, und tatsächlich habe ich

125
00:06:14,240 --> 00:06:18,120
‫dir das hier im Intro zu MongoDB gezeigt, oder?

126
00:06:18,120 --> 00:06:19,920
‫Wo wir viele löschen und

127
00:06:19,920 --> 00:06:22,610
‫dann einfach nichts reinpassen könnten, und das

128
00:06:22,610 --> 00:06:23,640
‫würde dann

129
00:06:23,640 --> 00:06:26,710
‫alle Dokumente in einer bestimmten Sammlung löschen, oder?

130
00:06:26,710 --> 00:06:29,020
‫Und so hat Mungo im

131
00:06:29,020 --> 00:06:33,180
‫Grunde die gleiche Funktion hier auf dem Modell implementiert, okay.

132
00:06:33,180 --> 00:06:34,013
‫In diesem

133
00:06:34,013 --> 00:06:37,520
‫Fall hat das Tourmodell also Zugriff auf diese Methode zum

134
00:06:37,520 --> 00:06:39,120
‫Löschen vieler, die dann

135
00:06:39,120 --> 00:06:43,380
‫genau das gleiche macht wie delete many in der nativen MongoDB, oder?

136
00:06:43,380 --> 00:06:46,320
‫Denken Sie also daran, dass

137
00:06:46,320 --> 00:06:49,740
‫Mungo nur eine Abstraktionsschicht über MongoDB ist.

138
00:06:49,740 --> 00:06:52,700
‫Aus diesem Grund verwendet es nicht genau die

139
00:06:52,700 --> 00:06:56,040
‫gleichen Funktionen, aber es gibt uns dennoch Zugriff auf

140
00:06:56,040 --> 00:06:58,490
‫einige ähnliche oder tatsächlich denselben Namen.

141
00:06:58,490 --> 00:07:00,570
‫Viele löschen hat also tatsächlich

142
00:07:00,570 --> 00:07:03,780
‫den gleichen Namen wie die native MongoDB-Funktion, in Ordnung?

143
00:07:03,780 --> 00:07:06,700
‫Dies wird also wieder tun,

144
00:07:06,700 --> 00:07:10,620
‫um einfach alle Dokumente in der Tourensammlung zu löschen.

145
00:07:10,620 --> 00:07:12,860
‫Wir haben hier also unsere beiden Funktionen,

146
00:07:12,860 --> 00:07:15,240
‫aber wenn wir diese Datei jetzt tatsächlich

147
00:07:15,240 --> 00:07:16,850
‫ausführen, wird nichts passieren.

148
00:07:16,850 --> 00:07:17,700
‫Und das

149
00:07:17,700 --> 00:07:21,320
‫liegt daran, dass wir nirgendwo eine dieser Funktionen aufrufen, oder?

150
00:07:21,320 --> 00:07:22,300
‫Jetzt könnten

151
00:07:22,300 --> 00:07:26,820
‫wir einfach so etwas wie import data hier schreiben und dann einfach

152
00:07:26,820 --> 00:07:29,000
‫die Funktion hier aufrufen, aber

153
00:07:29,000 --> 00:07:32,040
‫ich wollte das ein bisschen mehr Spaß machen.

154
00:07:32,040 --> 00:07:34,930
‫Lassen Sie uns nun ein kleines bisschen

155
00:07:34,930 --> 00:07:38,130
‫über die Interaktion mit der Befehlszeile lernen, okay.

156
00:07:38,130 --> 00:07:39,580
‫Und so werde

157
00:07:39,580 --> 00:07:43,480
‫ich diese Datei tatsächlich ausführen, ohne eine dieser Funktionen aufzurufen.

158
00:07:43,480 --> 00:07:45,480
‫Aber stattdessen werde

159
00:07:47,260 --> 00:07:52,143
‫ich mich beim Konsolenprozess anmelden. argv, okay.

160
00:07:52,143 --> 00:07:55,800
‫Nur damit wir sehen können, welcher Vorgang ausgeführt wird. argv ist eigentlich so,

161
00:07:55,800 --> 00:07:57,860
‫dass wir es dann verwenden können.

162
00:07:57,860 --> 00:07:58,693
‫Gut.

163
00:07:58,693 --> 00:08:01,080
‫Lassen Sie mich hier ein anderes Terminal öffnen

164
00:08:01,080 --> 00:08:02,583
‫und dann werde ich

165
00:08:03,840 --> 00:08:05,520
‫den Knoten verwenden, in die Entwicklungsdaten

166
00:08:05,520 --> 00:08:06,353
‫gehen, dann

167
00:08:06,353 --> 00:08:08,980
‫in die Daten und dann dort die Entwicklungsdaten importieren.

168
00:08:08,980 --> 00:08:11,570
‫Und wir bekommen hier einige Fehler.

169
00:08:11,570 --> 00:08:12,560
‫Mal sehen wo.

170
00:08:12,560 --> 00:08:15,710
‫Ah, ja, das liegt an

171
00:08:15,710 --> 00:08:17,290
‫diesem Dateinamen.

172
00:08:17,290 --> 00:08:20,963
‫Ich denke, wir sollten den Pfad dorthin grundsätzlich angeben.

173
00:08:22,020 --> 00:08:24,540
‫Lassen Sie uns diesen also immer wieder

174
00:08:24,540 --> 00:08:26,710
‫ausführen, und wir haben diesen Fehler.

175
00:08:26,710 --> 00:08:30,010
‫Und ja, natürlich bekomme ich diesen Fehler.

176
00:08:30,010 --> 00:08:31,360
‫Das ist dumm.

177
00:08:31,360 --> 00:08:32,860
‫Denken Sie daran, wie

178
00:08:32,860 --> 00:08:36,710
‫ich Ihnen gesagt habe, dass dieser Punkt hier immer relativ zu dem Ordner

179
00:08:36,710 --> 00:08:39,210
‫ist, in dem die Knotenanwendung tatsächlich gestartet wurde.

180
00:08:39,210 --> 00:08:40,670
‫Und das ist der Home-Ordner.

181
00:08:40,670 --> 00:08:42,740
‫Also suchen wir im Grunde

182
00:08:42,740 --> 00:08:45,010
‫nach dieser Datei hier im Home-Ordner, okay.

183
00:08:45,010 --> 00:08:49,470
‫Was ich stattdessen verwenden sollte, ist der dir name, eine

184
00:08:49,470 --> 00:08:52,860
‫Variable, die uns überall zur Verfügung steht.

185
00:08:52,860 --> 00:08:54,653
‫Das geht also so.

186
00:08:58,980 --> 00:09:00,320
‫Gut.

187
00:09:00,320 --> 00:09:01,810
‫Speichern Sie es erneut,

188
00:09:01,810 --> 00:09:05,860
‫räumen Sie die Konsole auf und führen Sie es erneut aus.

189
00:09:05,860 --> 00:09:07,080
‫Und so funktioniert es jetzt.

190
00:09:07,080 --> 00:09:08,000
‫Hier also

191
00:09:08,000 --> 00:09:11,650
‫das Ergebnis dieser Konsole. log, das wir hier unten haben,

192
00:09:11,650 --> 00:09:12,897
‫also verarbeiten. argv

193
00:09:14,020 --> 00:09:16,020
‫und im Grunde ist

194
00:09:16,020 --> 00:09:20,880
‫das ein Array dieser beiden Argumente für die Ausführung dieses Knotenprozesses.

195
00:09:20,880 --> 00:09:22,890
‫Hier befindet sich

196
00:09:22,890 --> 00:09:24,930
‫also im Grunde der Knotenbefehl.

197
00:09:24,930 --> 00:09:26,910
‫Dies entspricht also diesem

198
00:09:26,910 --> 00:09:28,940
‫Knoten und dann dem zweiten,

199
00:09:28,940 --> 00:09:33,730
‫also ist dieser Pfad zu dieser Datei eigentlich dieser hier, okay.

200
00:09:33,730 --> 00:09:35,490
‫Beenden wir dies hier und

201
00:09:35,490 --> 00:09:37,723
‫fügen wir hier eine Art Option hinzu.

202
00:09:39,130 --> 00:09:40,090
‫Also werde

203
00:09:40,090 --> 00:09:41,750
‫ich schreiben, Bindestrich, Bindestrich importieren und

204
00:09:41,750 --> 00:09:43,620
‫so bin ich sicher, dass Sie so

205
00:09:43,620 --> 00:09:44,910
‫etwas schon oft gesehen haben.

206
00:09:44,910 --> 00:09:47,930
‫Wenn wir zum Beispiel ein Paket als Dev-Abhängigkeit speichern,

207
00:09:47,930 --> 00:09:49,763
‫machen wir das so.

208
00:09:50,950 --> 00:09:53,180
‫Save dev, und deshalb verwenden wir

209
00:09:53,180 --> 00:09:55,710
‫das gleiche Format zum Angeben von Optionen.

210
00:09:55,710 --> 00:09:57,200
‫Okay, Bindestrich und

211
00:09:57,200 --> 00:09:59,760
‫dann die Zeichenfolge, die wir hier setzen.

212
00:09:59,760 --> 00:10:03,187
‫Und so entscheide ich mich, die Importoption

213
00:10:03,187 --> 00:10:05,260
‫grundsätzlich so anzugeben.

214
00:10:05,260 --> 00:10:07,354
‫Und Sie sehen, dass jetzt

215
00:10:07,354 --> 00:10:10,660
‫das dritte Argument das Importieren von Bindestrichen ist, in Ordnung?

216
00:10:10,660 --> 00:10:12,860
‫Das bedeutet, dass wir diese

217
00:10:12,860 --> 00:10:15,460
‫Daten jetzt grundsätzlich hier verwenden können,

218
00:10:15,460 --> 00:10:16,410
‫um

219
00:10:16,410 --> 00:10:19,900
‫eine sehr einfache Befehlszeilenanwendung zu schreiben, die die Daten

220
00:10:19,900 --> 00:10:22,970
‫importiert, wenn wir diese Option angeben, und

221
00:10:22,970 --> 00:10:24,430
‫die Daten löscht,

222
00:10:24,430 --> 00:10:27,223
‫wenn wir die Löschoption angeben, all rechts?

223
00:10:28,090 --> 00:10:29,983
‫Also, lass uns das tatsächlich tun.

224
00:10:32,090 --> 00:10:33,240
‫Also,

225
00:10:34,140 --> 00:10:37,090
‫wenn Prozess. argv und es ist

226
00:10:37,090 --> 00:10:38,040
‫ein

227
00:10:38,040 --> 00:10:40,370
‫Array und wir wollen das dritte.

228
00:10:40,370 --> 00:10:42,423
‫Also null, eins, zwei.

229
00:10:44,610 --> 00:10:49,300
‫Wenn dieses Element also gut importiert werden

230
00:10:50,380 --> 00:10:54,313
‫kann, möchten wir Importdaten ausführen.

231
00:10:55,860 --> 00:10:56,693
‫Rechts?

232
00:10:58,950 --> 00:10:59,783
‫Wenn...

233
00:11:00,790 --> 00:11:04,320
‫Verfahren. argv zwei ist

234
00:11:04,320 --> 00:11:05,853
‫gleich, zum Löschen

235
00:11:09,180 --> 00:11:12,150
‫wollen wir dann Daten löschen

236
00:11:15,310 --> 00:11:16,810
‫ausführen.

237
00:11:16,810 --> 00:11:17,643
‫Und das ist es.

238
00:11:19,240 --> 00:11:21,270
‫Das sollte uns also eigentlich

239
00:11:21,270 --> 00:11:23,890
‫das Ergebnis liefern, nach dem wir suchen.

240
00:11:23,890 --> 00:11:25,580
‫Lassen Sie uns das hier beenden.

241
00:11:25,580 --> 00:11:27,540
‫Lassen Sie uns nun den Befehl

242
00:11:27,540 --> 00:11:30,460
‫hier mit delete ausführen, um alle Daten zu löschen, die

243
00:11:30,460 --> 00:11:32,240
‫wir in der Datenbank haben.

244
00:11:32,240 --> 00:11:33,413
‫Also probieren wir das aus.

245
00:11:35,120 --> 00:11:36,560
‫Es tut etwas

246
00:11:36,560 --> 00:11:38,813
‫und die Daten wurden erfolgreich gelöscht.

247
00:11:39,770 --> 00:11:42,160
‫Schauen wir uns das also jetzt an.

248
00:11:42,160 --> 00:11:46,110
‫Und wenn wir jetzt diese Get-All-Tours-Route laufen lassen,

249
00:11:46,110 --> 00:11:49,390
‫dann haben wir tatsächlich null Ergebnisse.

250
00:11:49,390 --> 00:11:52,380
‫Also, alle unsere Touren sind jetzt weg.

251
00:11:52,380 --> 00:11:54,020
‫Es hat also funktioniert.

252
00:11:54,020 --> 00:11:57,380
‫Nun läuft dieser Prozess hier im Grunde noch.

253
00:11:57,380 --> 00:11:59,060
‫Also lassen Sie uns

254
00:11:59,060 --> 00:12:01,210
‫das schnell beheben, was ziemlich einfach ist.

255
00:12:01,210 --> 00:12:03,410
‫Das ist also ein neues, das wir noch nicht verwendet haben.

256
00:12:03,410 --> 00:12:07,480
‫Was ist ein Prozess. Ausfahrt, in

257
00:12:07,480 --> 00:12:08,520
‫Ordnung?

258
00:12:08,520 --> 00:12:12,290
‫Nun dieser Vorgang. exit ist eine aggressive Art,

259
00:12:12,290 --> 00:12:14,120
‫eine Anwendung zu stoppen,

260
00:12:14,120 --> 00:12:16,280
‫aber in diesem Fall ist es

261
00:12:16,280 --> 00:12:19,060
‫kein Problem, weil es wirklich nur ein sehr

262
00:12:19,060 --> 00:12:23,210
‫kleines Skript ist, das wir hier ausführen und keine echte Anwendung, oder?

263
00:12:23,210 --> 00:12:24,790
‫Lassen Sie uns das

264
00:12:24,790 --> 00:12:26,683
‫Gleiche hier in unsere Datenimportfunktion kopieren.

265
00:12:27,860 --> 00:12:29,483
‫Und so werde ich jetzt damit aufhören.

266
00:12:30,350 --> 00:12:32,230
‫Und nur um zu zeigen, dass es

267
00:12:32,230 --> 00:12:33,330
‫funktioniert, werde ich

268
00:12:34,620 --> 00:12:36,080
‫es erneut ausführen, damit die Daten

269
00:12:36,080 --> 00:12:38,513
‫erfolgreich gelöscht werden und dann der Prozess beendet wird.

270
00:12:39,530 --> 00:12:40,520
‫Gut.

271
00:12:40,520 --> 00:12:43,943
‫Und jetzt ist es an der Zeit, die Funktion, die

272
00:12:43,943 --> 00:12:46,293
‫uns ursprünglich interessiert hat, tatsächlich auszuführen.

273
00:12:47,650 --> 00:12:50,760
‫Also im Grunde mit dem Import-Flag.

274
00:12:50,760 --> 00:12:52,380
‫Also die Importoption.

275
00:12:52,380 --> 00:12:53,647
‫Lassen Sie uns

276
00:12:53,647 --> 00:12:56,210
‫das ausführen und sehen, ob es tatsächlich funktioniert.

277
00:12:56,210 --> 00:12:57,720
‫Und das tat es nicht.

278
00:12:57,720 --> 00:12:59,343
‫Warum also?

279
00:13:00,220 --> 00:13:03,823
‫Es sagt uns hier also, dass eine Tour eine Gruppengröße haben muss.

280
00:13:05,060 --> 00:13:07,790
‫Also woher kommt das?

281
00:13:07,790 --> 00:13:10,400
‫Und wir sehen hier viele Validierungsfehler.

282
00:13:10,400 --> 00:13:13,023
‫Hier muss also etwas schief gelaufen sein.

283
00:13:14,370 --> 00:13:15,750
‫Also ja,

284
00:13:15,750 --> 00:13:20,110
‫wir haben das Titelbild, wir haben die Tourbeschreibung.

285
00:13:20,110 --> 00:13:21,663
‫Wir haben den Preis.

286
00:13:22,610 --> 00:13:23,540
‫Nun, das ist seltsam.

287
00:13:23,540 --> 00:13:24,823
‫Maximale Gruppengröße, lassen

288
00:13:26,760 --> 00:13:29,653
‫Sie mich überprüfen, ob hier etwas passiert ist.

289
00:13:30,620 --> 00:13:32,120
‫Eigentlich haben wir hier neun

290
00:13:32,120 --> 00:13:35,120
‫Touren und ich denke, neun sind eigentlich alles, was wir haben.

291
00:13:35,120 --> 00:13:39,380
‫Und für mich sieht es so aus, als ob es tatsächlich funktioniert hätte.

292
00:13:39,380 --> 00:13:43,570
‫Aber lassen Sie uns hier einen kurzen Blick auf unsere Daten werfen.

293
00:13:43,570 --> 00:13:47,603
‫Also, nur um herauszufinden, warum dies tatsächlich passiert.

294
00:13:48,730 --> 00:13:52,040
‫Also Tour einfach hier und so

295
00:13:52,040 --> 00:13:53,620
‫können wir

296
00:13:53,620 --> 00:13:57,180
‫schon sehen, eigentlich das Problem, das passiert.

297
00:13:57,180 --> 00:13:58,840
‫Wir haben also alle

298
00:13:58,840 --> 00:14:00,730
‫diese Touren, also die Originalen.

299
00:14:00,730 --> 00:14:02,630
‫Aber aus dem letzten Abschnitt

300
00:14:02,630 --> 00:14:04,170
‫haben wir diese

301
00:14:04,170 --> 00:14:08,160
‫drei hier, die wir mit unserer dateibasierten API hinzugefügt haben.

302
00:14:08,160 --> 00:14:09,210
‫Erinnerst du dich also daran?

303
00:14:09,210 --> 00:14:12,120
‫Also haben wir damals nur den Namen, die Dauer

304
00:14:12,120 --> 00:14:14,660
‫und den Schwierigkeitsgrad angegeben und sonst nichts.

305
00:14:14,660 --> 00:14:16,030
‫Und so

306
00:14:16,030 --> 00:14:19,920
‫versucht unser Skript gerade, diese drei Touren zu importieren.

307
00:14:19,920 --> 00:14:23,010
‫Aber natürlich interessieren wir uns überhaupt

308
00:14:23,010 --> 00:14:28,010
‫nicht für sie, also lass uns das hier speichern, okay.

309
00:14:28,030 --> 00:14:29,620
‫Dann beenden Sie diesen Vorgang und

310
00:14:29,620 --> 00:14:32,720
‫damit eigentlich diesen Vorgang. exit kann sich außerhalb

311
00:14:32,720 --> 00:14:35,650
‫des try-catch-Blocks befinden und am Ende der Funktion einfach

312
00:14:35,650 --> 00:14:36,497
‫hier sein.

313
00:14:36,497 --> 00:14:37,961
‫Unabhängig davon, ob

314
00:14:37,961 --> 00:14:42,583
‫ein Fehler auftritt oder nicht, wird der Prozess immer einfach beendet.

315
00:14:43,980 --> 00:14:44,813
‫Gut.

316
00:14:45,900 --> 00:14:47,543
‫Also lass uns alles löschen.

317
00:14:49,580 --> 00:14:51,820
‫Alles klar, lösche die Konsole noch einmal.

318
00:14:51,820 --> 00:14:52,893
‫Jetzt importieren, und

319
00:14:54,230 --> 00:14:55,063
‫ja.

320
00:14:55,063 --> 00:14:56,853
‫Die Daten wurden also erfolgreich geladen.

321
00:14:59,790 --> 00:15:02,180
‫Da sind wir tatsächlich wieder.

322
00:15:02,180 --> 00:15:04,210
‫Jetzt funktioniert es zu 100%,

323
00:15:04,210 --> 00:15:08,020
‫wir haben unsere Daten, mit denen wir jetzt arbeiten

324
00:15:08,020 --> 00:15:09,800
‫können, und so, ja.

325
00:15:09,800 --> 00:15:12,740
‫Unsere Arbeit mit diesem hier ist getan.

326
00:15:12,740 --> 00:15:14,900
‫Also, eine nette kleine Funktion oder eigentlich

327
00:15:14,900 --> 00:15:16,310
‫ein nettes kleines Skript.

328
00:15:16,310 --> 00:15:20,200
‫Ich hoffe, dass für Sie alles Sinn ergab

329
00:15:20,200 --> 00:15:25,200
‫und ja, dass es auch für Sie eine Art Spaß war.

330
00:15:25,320 --> 00:15:26,970
‫Wie auch immer, wir sehen

331
00:15:26,970 --> 00:15:31,090
‫uns im nächsten Video, wo wir endlich damit beginnen, all diese Daten zu

332
00:15:31,090 --> 00:15:32,740
‫verwenden und unsere API zu

333
00:15:32,740 --> 00:15:35,203
‫verbessern, indem wir ein paar nette Funktionen implementieren.

