﻿1
00:00:01,070 --> 00:00:03,610
‫Kursleiter: Wir haben gerade viel über

2
00:00:03,610 --> 00:00:06,447
‫MVC gelernt und können unseren Code jetzt

3
00:00:06,447 --> 00:00:09,763
‫sehr schnell umgestalten, um diese Architektur etwas besser anzupassen.

4
00:00:11,370 --> 00:00:15,150
‫Und tatsächlich haben wir hier schon unseren Controller-Ordner und

5
00:00:15,150 --> 00:00:18,120
‫die Tour- und Benutzercontroller darin, und wir

6
00:00:18,120 --> 00:00:20,040
‫haben bereits die Routen

7
00:00:20,040 --> 00:00:21,550
‫hier im Routenordner.

8
00:00:21,550 --> 00:00:24,540
‫In diesem Video müssen wir also

9
00:00:24,540 --> 00:00:26,200
‫wirklich einen

10
00:00:26,200 --> 00:00:29,490
‫Modellordner erstellen und darin ein Tourmodell erstellen.

11
00:00:29,490 --> 00:00:30,896
‫Also, lass uns das tun.

12
00:00:30,896 --> 00:00:33,590
‫(Klick) Also, Modelle und

13
00:00:33,590 --> 00:00:35,870
‫da drin das

14
00:00:38,660 --> 00:00:40,260
‫TourModel. js

15
00:00:41,330 --> 00:00:42,733
‫Schließen wir diese

16
00:00:44,240 --> 00:00:47,500
‫Jungs ab, und kopieren oder schneiden wir

17
00:00:47,500 --> 00:00:49,680
‫dieses Schema und diese gesamte

18
00:00:50,730 --> 00:00:52,743
‫Modelldeklaration hier und fügen

19
00:00:54,000 --> 00:00:56,293
‫sie in das Tourmodell ein.

20
00:00:58,000 --> 00:01:03,000
‫Wir werden auch wollen, dass die Mungo hierher importiert.

21
00:01:05,210 --> 00:01:08,070
‫In Ordnung, und tatsächlich, lassen

22
00:01:08,070 --> 00:01:11,063
‫Sie uns diesen Code vollständig loswerden.

23
00:01:12,050 --> 00:01:14,290
‫Alles klar, das hier war nur zum Testen

24
00:01:14,290 --> 00:01:16,420
‫und wir brauchen es nicht mehr.

25
00:01:16,420 --> 00:01:18,610
‫Es hat also seine Aufgabe erfüllt,

26
00:01:18,610 --> 00:01:20,110
‫und alles, was

27
00:01:20,110 --> 00:01:23,750
‫wir in dieser Datei hier wirklich tun möchten, ist, eine Verbindung

28
00:01:23,750 --> 00:01:26,360
‫zur Datenbank herzustellen, aber alles, was mit den

29
00:01:26,360 --> 00:01:29,120
‫Modellen selbst zu tun hat, befindet sich immer

30
00:01:29,120 --> 00:01:30,893
‫in einer Datei, im Modellordner.

31
00:01:31,920 --> 00:01:34,640
‫Okay, jetzt hier sagt uns eslint, dass diese

32
00:01:34,640 --> 00:01:36,452
‫Variable hier nicht verwendet

33
00:01:36,452 --> 00:01:38,400
‫wurde, aber eigentlich wollen wir sie

34
00:01:38,400 --> 00:01:41,823
‫verwenden, weil wir das Modell aus dieser Datei exportieren wollen.

35
00:01:44,700 --> 00:01:47,150
‫Also Modul. exports, und dies sollte

36
00:01:47,150 --> 00:01:50,530
‫eigentlich das einzige sein, was wir aus dieser Datei exportieren, und daher verwenden

37
00:01:50,530 --> 00:01:54,590
‫wir die Art des Standardexports mit module. exports Okay, und das ist

38
00:01:56,080 --> 00:01:59,340
‫unser sehr einfaches Tourmodell, das wir in unserer letzten

39
00:01:59,340 --> 00:02:01,300
‫Vorlesung erstellt haben, und

40
00:02:01,300 --> 00:02:04,290
‫jetzt hier haben wir es in eine eigene

41
00:02:04,290 --> 00:02:07,100
‫Standalone-Datei gepackt und dann schließlich von hier exportiert.

42
00:02:07,100 --> 00:02:10,670
‫Okay, wo brauchen wir nun diese Tour eigentlich.

43
00:02:10,670 --> 00:02:13,290
‫Mit anderen Worten, wo werden

44
00:02:13,290 --> 00:02:16,850
‫wir eigentlich Touren erstellen und abfragen, löschen und aktualisieren.

45
00:02:16,850 --> 00:02:20,643
‫Nun, das machen wir im tourController, oder?

46
00:02:22,320 --> 00:02:23,350
‫Also genau

47
00:02:23,350 --> 00:02:27,233
‫hier, und lassen Sie uns fortfahren und das Modell tatsächlich hier importieren.

48
00:02:28,200 --> 00:02:30,436
‫Also hier oben (klicken) und

49
00:02:30,436 --> 00:02:32,540
‫ich gebe ihm genau

50
00:02:32,540 --> 00:02:34,583
‫den gleichen Namen.

51
00:02:35,920 --> 00:02:37,720
‫Also noch

52
00:02:37,720 --> 00:02:42,260
‫Tour, und jetzt will ich fordern, also den aktuellen

53
00:02:42,260 --> 00:02:44,250
‫Ordner, dann einen Ordner

54
00:02:44,250 --> 00:02:47,163
‫hoch, und dann runter in den

55
00:02:48,110 --> 00:02:50,623
‫Model-Ordner, und dort Tour-Model.

56
00:02:53,210 --> 00:02:55,220
‫Okay, jetzt sagt es mir natürlich, dass

57
00:02:55,220 --> 00:02:56,960
‫ich diese Variable nicht verwende,

58
00:02:56,960 --> 00:02:59,020
‫aber machen Sie sich jetzt keine Sorgen.

59
00:02:59,020 --> 00:03:01,020
‫Als nächstes möchte ich diesen

60
00:03:01,020 --> 00:03:04,790
‫Ort hier loswerden, an dem wir die Daten tatsächlich

61
00:03:04,790 --> 00:03:06,580
‫als Json-Datei importieren.

62
00:03:06,580 --> 00:03:08,660
‫Das brauchen wir natürlich nicht mehr.

63
00:03:08,660 --> 00:03:10,960
‫Das hier war nur zu Testzwecken.

64
00:03:10,960 --> 00:03:13,080
‫Also lass es uns loswerden.

65
00:03:13,080 --> 00:03:14,770
‫Sie können es auch

66
00:03:14,770 --> 00:03:18,540
‫auskommentieren, wenn Sie es vielleicht als Referenz für sich selbst hinterlassen möchten.

67
00:03:18,540 --> 00:03:20,903
‫Dann gehen Sie einfach vor und kommentieren Sie es aus.

68
00:03:22,770 --> 00:03:24,210
‫Dann bekommen wir

69
00:03:24,210 --> 00:03:26,480
‫hier unten diesen Fehler, weil die

70
00:03:26,480 --> 00:03:29,280
‫Variable, die wir gerade gelöscht haben, nicht mehr

71
00:03:29,280 --> 00:03:32,410
‫definiert ist, und lassen Sie mich dieses Stück Code

72
00:03:32,410 --> 00:03:35,363
‫hier auskommentieren, weil wir wieder etwas Ähnliches brauchen werden.

73
00:03:37,230 --> 00:03:39,900
‫Okay, hol dir die Tour,

74
00:03:39,900 --> 00:03:44,330
‫lass uns das alles auch hier auskommentieren, damit wir

75
00:03:44,330 --> 00:03:48,060
‫keine Fehler bekommen, sobald wir diese Datei speichern.

76
00:03:48,060 --> 00:03:50,240
‫Dann können wir hier

77
00:03:50,240 --> 00:03:52,400
‫eigentlich alles loswerden.

78
00:03:52,400 --> 00:03:55,210
‫Also werden wir nichts davon mehr verwenden.

79
00:03:55,210 --> 00:03:57,010
‫Lassen Sie mich dieses Stück also einfach hier behalten.

80
00:03:58,080 --> 00:04:00,130
‫Also kopiere ich es, lösche alles

81
00:04:00,130 --> 00:04:01,780
‫andere hier und lege

82
00:04:03,640 --> 00:04:05,240
‫es hierher zurück.

83
00:04:05,240 --> 00:04:06,610
‫Wir haben diesen

84
00:04:06,610 --> 00:04:09,693
‫Fehler immer noch, und deshalb kommentiere ich dieses Stück Code.

85
00:04:10,690 --> 00:04:12,950
‫Alles klar, und hier bekommen wir keine Fehler.

86
00:04:12,950 --> 00:04:15,693
‫Also lassen wir es erstmal so, okay?

87
00:04:15,693 --> 00:04:18,210
‫Was ich hier also gerade getan habe, war, den Code,

88
00:04:18,210 --> 00:04:20,800
‫den wir zuvor geschrieben haben, im Grunde zu bereinigen, um

89
00:04:20,800 --> 00:04:23,040
‫nicht mehr von den Daten abhängig zu sein,

90
00:04:23,040 --> 00:04:24,853
‫die wir in der Json-Datei hatten.

91
00:04:25,850 --> 00:04:28,990
‫Okay, jetzt sollten wir keine Fehler mehr haben,

92
00:04:28,990 --> 00:04:32,190
‫oder eigentlich sollten wir in dieser checkID-Funktion, und

93
00:04:32,190 --> 00:04:33,930
‫dieser checkID-Funktion, wir

94
00:04:33,930 --> 00:04:37,070
‫werden sie tatsächlich nicht mehr brauchen, okay?

95
00:04:37,070 --> 00:04:39,460
‫Denn von nun an werden wir mit

96
00:04:39,460 --> 00:04:42,930
‫den IDs arbeiten, die von MongoDB kommen, und Mongo selbst wird

97
00:04:42,930 --> 00:04:45,540
‫uns einen Fehler ausgeben, wenn wir eine ungültige

98
00:04:45,540 --> 00:04:48,046
‫ID verwenden, und daher war diese Funktion,

99
00:04:48,046 --> 00:04:50,800
‫die wir hier haben, tatsächlich sehr nützlich, um

100
00:04:50,800 --> 00:04:53,260
‫Ihnen zu zeigen, wie es geht Middleware

101
00:04:53,260 --> 00:04:54,940
‫funktioniert tatsächlich, indem wir Ihnen

102
00:04:54,940 --> 00:04:57,930
‫dieses sehr praktische Beispiel hier geben, und später im

103
00:04:57,930 --> 00:04:59,090
‫Kurs verwenden

104
00:04:59,090 --> 00:05:00,830
‫die Leute natürlich mehr Middleware,

105
00:05:00,830 --> 00:05:02,660
‫aber diese spezielle Funktion hier

106
00:05:02,660 --> 00:05:04,450
‫werden wir nicht mehr brauchen.

107
00:05:04,450 --> 00:05:06,234
‫Also, lassen Sie

108
00:05:06,234 --> 00:05:09,870
‫uns es loswerden und auch wieder diesen Dateisystemimport,

109
00:05:09,870 --> 00:05:13,170
‫da wir die Datei hier nicht mehr verwenden.

110
00:05:13,170 --> 00:05:14,450
‫Wir haben hier also immer noch einen Fehler.

111
00:05:14,450 --> 00:05:16,120
‫Mal sehen, was passiert,

112
00:05:16,120 --> 00:05:19,140
‫und es sieht so aus, als wäre es

113
00:05:19,140 --> 00:05:21,210
‫in den Tourrouten enthalten, okay?

114
00:05:21,210 --> 00:05:22,250
‫Und das war es

115
00:05:22,250 --> 00:05:23,853
‫eigentlich, das ich als nächstes ändern würde.

116
00:05:25,420 --> 00:05:26,710
‫Das Problem hier

117
00:05:26,710 --> 00:05:30,780
‫ist also, dass dieser tourController. checkID existiert natürlich nicht

118
00:05:30,780 --> 00:05:33,077
‫mehr, weil wir es gerade

119
00:05:33,077 --> 00:05:35,780
‫gelöscht haben, also lasst uns das auch

120
00:05:35,780 --> 00:05:38,930
‫loswerden, oder lass es mich einfach auskommentieren, okay?

121
00:05:38,930 --> 00:05:41,000
‫Denken Sie also daran, dass Sie

122
00:05:41,000 --> 00:05:43,580
‫dies verwenden können. param-Funktion hier,

123
00:05:43,580 --> 00:05:47,190
‫um Parameter-Middleware in Ihren eigenen Anwendungen zu definieren, okay?

124
00:05:47,190 --> 00:05:48,820
‫Ich möchte nicht, dass Sie

125
00:05:48,820 --> 00:05:51,060
‫das vergessen, und lassen Sie es einfach hier

126
00:05:51,060 --> 00:05:53,120
‫in Ihrem Code, damit Sie vielleicht später,

127
00:05:53,120 --> 00:05:56,270
‫wenn Sie darauf zurückkommen, immer noch wissen, dass es da ist, okay?

128
00:05:56,270 --> 00:05:57,520
‫Also habe ich es jetzt gespeichert, und

129
00:05:57,520 --> 00:05:59,120
‫so sind wir hier wieder auf dem richtigen Weg.

130
00:05:59,120 --> 00:06:01,860
‫Es funktioniert also wieder alles und unser

131
00:06:01,860 --> 00:06:04,800
‫Code ist nun ausreichend gut refactored, sodass wir

132
00:06:04,800 --> 00:06:06,880
‫im nächsten Video tatsächlich damit

133
00:06:06,880 --> 00:06:10,343
‫beginnen können, die richtigen Funktionen in unserer API zu implementieren.

134
00:06:11,440 --> 00:06:14,450
‫Im Grunde also alle Touren

135
00:06:14,450 --> 00:06:18,120
‫abrufen, Touren erstellen, Touren löschen und Touren aktualisieren.

136
00:06:18,120 --> 00:06:19,420
‫Wir werden

137
00:06:19,420 --> 00:06:21,380
‫also nacheinander diese Controller-Funktionen oder

138
00:06:21,380 --> 00:06:24,040
‫Handler-Funktionen implementieren, wenn Sie dies bevorzugen,

139
00:06:24,040 --> 00:06:25,743
‫beginnend im nächsten Video.

