﻿1
00:00:00,673 --> 00:00:03,770
‫Sprecher: Ein weiteres äußerst wichtiges Merkmal

2
00:00:03,770 --> 00:00:07,200
‫einer guten API ist die Bereitstellung von Paginierung.

3
00:00:07,200 --> 00:00:09,040
‫Im Grunde erlaubt es

4
00:00:09,040 --> 00:00:12,660
‫dem Benutzer also, nur eine bestimmte Seite unserer Ergebnisse

5
00:00:12,660 --> 00:00:15,373
‫auszuwählen, falls wir viele Ergebnisse haben.

6
00:00:17,140 --> 00:00:19,070
‫Nehmen wir also an, wir

7
00:00:19,070 --> 00:00:21,720
‫haben zum Beispiel 1000 Dokumente in einer bestimmten Sammlung.

8
00:00:21,720 --> 00:00:25,160
‫Und wir sagen, dass wir auf jeder Seite 100 Dokumente haben.

9
00:00:25,160 --> 00:00:28,230
‫Das würde also bedeuten, dass wir 10 Seiten haben, oder?

10
00:00:28,230 --> 00:00:31,210
‫10 mal 100 ist also 1000.

11
00:00:31,210 --> 00:00:34,430
‫Auf dieser Grundlage können wir die Paginierung

12
00:00:34,430 --> 00:00:36,460
‫mithilfe einer Abfragezeichenfolge implementieren?

13
00:00:36,460 --> 00:00:40,003
‫Nun, wir werden die Seiten- und Trennfelder verwenden.

14
00:00:41,460 --> 00:00:44,810
‫Es wird also ein Seitenfeld geben.

15
00:00:44,810 --> 00:00:47,230
‫Nehmen wir an, wir wollen Seite zwei und

16
00:00:47,230 --> 00:00:49,053
‫es wird ein Limit-Feld geben.

17
00:00:50,760 --> 00:00:53,580
‫Und diese Grenze hier bedeutet im Wesentlichen die Anzahl

18
00:00:53,580 --> 00:00:56,090
‫der Ergebnisse, die wir pro Seite haben möchten.

19
00:00:56,090 --> 00:00:59,090
‫Und das ist hier eigentlich nur auf 10 gesetzt

20
00:00:59,090 --> 00:01:01,610
‫und das müssen wir hier natürlich korrigieren.

21
00:01:01,610 --> 00:01:03,910
‫Es ist kein Komma, sondern ein und.

22
00:01:03,910 --> 00:01:06,690
‫Also Seite zwei und das Limit 10.

23
00:01:06,690 --> 00:01:09,930
‫Zurück zum Beispiel von 1000 Ergebnissen, wenn das

24
00:01:09,930 --> 00:01:13,380
‫Limit 10 ist, also nur 10 Ergebnisse pro Seite,

25
00:01:13,380 --> 00:01:15,670
‫dann haben wir 100 Seiten und

26
00:01:15,670 --> 00:01:18,800
‫hier zeigen wir dann die Seite Nummer 2

27
00:01:18,800 --> 00:01:20,780
‫dieser 100 Seiten an.

28
00:01:20,780 --> 00:01:21,880
‫Okay?

29
00:01:21,880 --> 00:01:26,600
‫Jetzt brauchen wir jetzt eine Möglichkeit, dies mit Mongoose zu implementieren.

30
00:01:26,600 --> 00:01:29,820
‫Schauen wir uns also an, wie wir das erreichen können, indem

31
00:01:29,820 --> 00:01:31,653
‫wir zu unserem Code zurückkehren.

32
00:01:33,790 --> 00:01:35,313
‫Also Feature Nummer vier,

33
00:01:36,970 --> 00:01:37,913
‫Pagination.

34
00:01:39,530 --> 00:01:40,363
‫In Ordnung,

35
00:01:40,363 --> 00:01:42,810
‫und ich beginne mit der Erstellung einer Beispielabfrage hier,

36
00:01:42,810 --> 00:01:44,880
‫genau wie wir es zuvor getan haben.

37
00:01:44,880 --> 00:01:48,930
‫Nehmen wir an, die Abfrage ist gleich Abfrage.

38
00:01:48,930 --> 00:01:51,200
‫Und was haben wir nun für Methoden,

39
00:01:51,200 --> 00:01:53,270
‫um die Paginierung zu implementieren?

40
00:01:53,270 --> 00:01:55,770
‫Nun, das Nützlichste ist überspringen und ich

41
00:01:56,810 --> 00:01:59,570
‫werde gleich erklären, was es tut, also lasst uns

42
00:01:59,570 --> 00:02:01,510
‫hier einfach eine Zufallszahl eingeben.

43
00:02:01,510 --> 00:02:03,913
‫Also überspringen und begrenzen, und setzen

44
00:02:05,830 --> 00:02:07,070
‫wir 10.

45
00:02:07,070 --> 00:02:10,150
‫Daher ist dieser Grenzwert hier tatsächlich genau derselbe wie der

46
00:02:10,150 --> 00:02:12,670
‫Grenzwert, den wir in der Abfragezeichenfolge definiert haben.

47
00:02:12,670 --> 00:02:14,970
‫Also im Grunde die Menge an Ergebnissen, die

48
00:02:14,970 --> 00:02:16,810
‫wir in der Abfrage haben wollen.

49
00:02:16,810 --> 00:02:20,710
‫Und dann überspringen, das wir hier haben, ist die Menge an

50
00:02:20,710 --> 00:02:24,490
‫Ergebnissen, die übersprungen werden sollten, bevor Daten tatsächlich abgefragt werden.

51
00:02:24,490 --> 00:02:27,836
‫Alles klar, auch hier ist dies nur ein Platzhalter.

52
00:02:27,836 --> 00:02:30,573
‫Kehren wir zu diesem Beispiel zurück, das wir hier haben.

53
00:02:31,550 --> 00:02:34,193
‫Ich kopiere einfach diese Abfragezeichenfolge hierher.

54
00:02:36,279 --> 00:02:39,790
‫Nehmen wir an, der Benutzer möchte Seite Nummer

55
00:02:39,790 --> 00:02:42,600
‫zwei mit 10 Ergebnissen pro Seite.

56
00:02:42,600 --> 00:02:46,320
‫Das bedeutet, dass die Ergebnisse 1 bis 10 auf Seite 1

57
00:02:46,320 --> 00:02:49,090
‫und 11 bis 20 auf Seite 2 stehen.

58
00:02:49,090 --> 00:02:52,660
‫Okay, das bedeutet also, dass wir 10 Ergebnisse überspringen möchten,

59
00:02:52,660 --> 00:02:55,720
‫bevor wir tatsächlich mit der Abfrage beginnen.

60
00:02:55,720 --> 00:02:56,750
‫Okay.

61
00:02:56,750 --> 00:02:59,030
‫Also wieder eins bis 10 für

62
00:03:00,840 --> 00:03:02,430
‫Seite eins und dann

63
00:03:02,430 --> 00:03:04,770
‫11 bis 20 für Seite zwei und

64
00:03:07,230 --> 00:03:08,390
‫so weiter

65
00:03:08,390 --> 00:03:09,580
‫und so weiter.

66
00:03:09,580 --> 00:03:13,303
‫21 bis 30 werden also Seite drei sein und so

67
00:03:14,400 --> 00:03:15,920
‫weiter und so weiter.

68
00:03:15,920 --> 00:03:17,950
‫Wir müssen also 10 Ergebnisse

69
00:03:17,950 --> 00:03:21,590
‫überspringen, um zu Ergebnis Nummer 11 zu gelangen, oder?

70
00:03:21,590 --> 00:03:26,590
‫Also zu Ergebnis Nummer 11, die das erste auf Seite zwei ist.

71
00:03:26,640 --> 00:03:30,230
‫Okay, und da Seite 2 angefordert wurde, müssen

72
00:03:30,230 --> 00:03:33,050
‫wir wieder 10 Ergebnisse überspringen, bevor wir

73
00:03:33,050 --> 00:03:35,380
‫mit Seite 2 beginnen.

74
00:03:35,380 --> 00:03:37,450
‫Okay? Sinn ergeben?

75
00:03:37,450 --> 00:03:41,060
‫Und wenn wir zum Beispiel Seite Nummer drei angefordert

76
00:03:41,060 --> 00:03:43,380
‫hätten, dann müssten natürlich zuerst

77
00:03:43,380 --> 00:03:45,400
‫20 Ergebnisse übersprungen werden.

78
00:03:45,400 --> 00:03:46,840
‫Daher benötigen wir

79
00:03:46,840 --> 00:03:49,680
‫hier eine Möglichkeit, diesen Sprungwert zu berechnen.

80
00:03:49,680 --> 00:03:52,750
‫Also im Wesentlichen basierend auf der Seite und dem Limit.

81
00:03:52,750 --> 00:03:55,700
‫Jetzt fragen Sie sich vielleicht, warum ich nicht direkt nach

82
00:03:55,700 --> 00:03:57,690
‫dem Skip-Wert in der Abfragezeichenfolge frage, aber

83
00:03:57,690 --> 00:04:00,370
‫das liegt daran, dass dieser Wert hier für den

84
00:04:00,370 --> 00:04:01,980
‫Benutzer irgendwie abstrakt ist, okay?

85
00:04:01,980 --> 00:04:05,537
‫Es ist viel einfacher, einfach zu sagen: "Nun, ich möchte Seite Nummer eins", oder ich

86
00:04:05,537 --> 00:04:06,967
‫möchte Seite Nummer fünf" oder ich

87
00:04:06,967 --> 00:04:09,050
‫möchte Seite Nummer 10. " Okay,

88
00:04:09,050 --> 00:04:12,520
‫für den Benutzer ist es also viel einfacher, sich

89
00:04:12,520 --> 00:04:14,983
‫hier nicht mit Skip-Werten und dem ganzen

90
00:04:14,983 --> 00:04:18,100
‫Zeug zu beschäftigen, der Benutzer möchte es einfach

91
00:04:18,100 --> 00:04:20,500
‫haben und einfach eine Seite definieren.

92
00:04:20,500 --> 00:04:22,540
‫Bevor wir nun tatsächlich mit

93
00:04:22,540 --> 00:04:26,420
‫der Berechnung des Skip-Werts beginnen können, müssen wir zuerst die Seite

94
00:04:26,420 --> 00:04:28,840
‫und das Limit aus der Abfragezeichenfolge

95
00:04:28,840 --> 00:04:31,700
‫abrufen und wir sollten auch einige Standardwerte definieren.

96
00:04:31,700 --> 00:04:33,550
‫Okay, das liegt im Grunde

97
00:04:33,550 --> 00:04:35,910
‫daran, dass wir die Paginierung immer noch

98
00:04:35,910 --> 00:04:38,560
‫haben möchten, auch wenn der Benutzer keine Seite

99
00:04:38,560 --> 00:04:40,040
‫oder kein Limit angibt.

100
00:04:40,040 --> 00:04:43,130
‫Denn sagen wir zum Beispiel, wir haben eine Million

101
00:04:43,130 --> 00:04:44,900
‫Ergebnisse in unserer Datenbank,

102
00:04:44,900 --> 00:04:47,750
‫und dann würden wir natürlich, wenn der

103
00:04:47,750 --> 00:04:51,820
‫Benutzer die Anfrage macht, nicht einfach alle diese 10 Millionen Ergebnisse anzeigen.

104
00:04:51,820 --> 00:04:54,860
‫Das wäre nicht sehr benutzerfreundlich, oder?

105
00:04:54,860 --> 00:04:58,610
‫Also definiere ich standardmäßig die Seite Nummer eins und

106
00:04:58,610 --> 00:05:01,500
‫ein Limit von sagen wir 100.

107
00:05:01,500 --> 00:05:05,100
‫Wenn ein Benutzer in diesem Beispiel alle Touren anfordert,

108
00:05:05,100 --> 00:05:08,070
‫bekommt er also standardmäßig nur 100 und

109
00:05:08,070 --> 00:05:10,273
‫keine Million, in Ordnung?

110
00:05:11,470 --> 00:05:16,427
‫So ist die Seite natürlich fordernd. Anfrage. page und ich werde

111
00:05:18,290 --> 00:05:20,890
‫es jetzt mit eins multiplizieren, was nur

112
00:05:20,890 --> 00:05:23,120
‫ein netter Trick ist, um eine

113
00:05:23,120 --> 00:05:24,830
‫Zeichenfolge in eine Zahl umzuwandeln.

114
00:05:24,830 --> 00:05:28,370
‫Okay, vielleicht haben Sie vorher bemerkt, dass jedes Mal, wenn

115
00:05:28,370 --> 00:05:30,600
‫wir tatsächlich eine Zahl in eine

116
00:05:30,600 --> 00:05:33,730
‫Abfragezeichenfolge einfügen, es dann eine Zeichenfolge oder ein Abfrageobjekt

117
00:05:33,730 --> 00:05:37,410
‫ist, und wir müssen dies einfach durch Multiplizieren mit eins beheben.

118
00:05:37,410 --> 00:05:41,760
‫Okay, und dann wollen wir standardmäßig die Seite Nummer eins.

119
00:05:41,760 --> 00:05:42,593
‫Gut?

120
00:05:42,593 --> 00:05:44,750
‫Dies ist also eine schöne

121
00:05:44,750 --> 00:05:47,690
‫Möglichkeit in JavaScript, um grundsätzlich Standardwerte zu definieren.

122
00:05:47,690 --> 00:05:50,463
‫Und das ist Ihnen sicher bekannt, oder?

123
00:05:51,310 --> 00:05:56,310
‫Wie auch immer, das Limit ist auf Anfrage. Anfrage. Limit mal wieder

124
00:05:58,370 --> 00:06:00,610
‫eins um es umzuwandeln, oder

125
00:06:00,610 --> 00:06:04,300
‫die Vorgabe von 100 die wir eben erwähnt haben.

126
00:06:04,300 --> 00:06:08,240
‫Im Idealfall wird der Benutzer also nur die Seitenzahl angeben, die

127
00:06:08,240 --> 00:06:09,570
‫er verlangt, und

128
00:06:09,570 --> 00:06:12,010
‫sich nicht einmal um die Seitenbegrenzung kümmern.

129
00:06:12,010 --> 00:06:14,370
‫Das ist für spezifischere Anwendungsfälle.

130
00:06:14,370 --> 00:06:19,060
‫Okay, und jetzt müssen wir nur noch so definieren, um im Grunde

131
00:06:19,060 --> 00:06:20,420
‫den Sprungwert

132
00:06:21,450 --> 00:06:25,130
‫zu berechnen, über den wir gerade hier gesprochen haben.

133
00:06:25,130 --> 00:06:28,470
‫Und das geht am besten, wenn man auf ein Beispiel zurückgreift.

134
00:06:28,470 --> 00:06:31,940
‫Nehmen wir noch einmal an, wir fordern Seite Nummer drei mit

135
00:06:31,940 --> 00:06:33,610
‫einer Beschränkung von 10 an.

136
00:06:33,610 --> 00:06:37,140
‫und wir sehen hier für Seite Nummer drei die Ergebnisse

137
00:06:37,140 --> 00:06:38,900
‫von 21 bis 30.

138
00:06:38,900 --> 00:06:42,340
‫Es beginnt also bei Ergebnisnummer 21, was bedeutet, dass wir

139
00:06:42,340 --> 00:06:44,110
‫20 Ergebnisse überspringen müssen.

140
00:06:44,110 --> 00:06:47,140
‫Und 20 Ergebnisse sind im Grunde zweimal 10,

141
00:06:47,140 --> 00:06:49,510
‫also das Zweifache dieser Grenze.

142
00:06:49,510 --> 00:06:52,700
‫Okay, und von dort aus fangen wir tatsächlich an, eine Formel zu bekommen.

143
00:06:52,700 --> 00:06:57,140
‫Zwei mal zehn ist also im Grunde drei minus eins mal 10.

144
00:06:57,140 --> 00:06:59,293
‫Und drei ist die Seite, auf der wir sind.

145
00:07:00,161 --> 00:07:01,760
‫Das ist also unsere Formel.

146
00:07:01,760 --> 00:07:03,780
‫Also Seite minus Eins und

147
00:07:03,780 --> 00:07:05,693
‫somit die vorherige Seite

148
00:07:06,690 --> 00:07:07,523
‫mal das

149
00:07:08,750 --> 00:07:09,583
‫Limit.

150
00:07:10,960 --> 00:07:13,733
‫Okay, ich hoffe, das hat Sinn gemacht, lassen

151
00:07:14,630 --> 00:07:17,273
‫Sie uns diese Werte jetzt hier ersetzen.

152
00:07:18,330 --> 00:07:19,163
‫Überspringen

153
00:07:20,420 --> 00:07:22,193
‫und Begrenzung des Limits.

154
00:07:23,610 --> 00:07:24,550
‫Okay?

155
00:07:24,550 --> 00:07:27,900
‫Im Grunde sind diese Zahl hier also alle Ergebnisse, die

156
00:07:27,900 --> 00:07:31,230
‫vor der Seite stehen, die wir jetzt tatsächlich anfordern.

157
00:07:31,230 --> 00:07:34,330
‫Wenn wir also Seite Nummer drei anfordern, beginnen

158
00:07:34,330 --> 00:07:37,280
‫unsere Ergebnisse bei Seite Nummer 21.

159
00:07:37,280 --> 00:07:40,020
‫Also wollen wir vorher 20 Ergebnisse überspringen.

160
00:07:40,020 --> 00:07:41,490
‫Und 20 Ergebnisse sind,

161
00:07:41,490 --> 00:07:44,683
‫weil wir 2 Seiten mit jeweils 10 Ergebnissen haben.

162
00:07:45,940 --> 00:07:49,350
‫Ja, es wird die Seite sein, die wir gerade angefordert haben.

163
00:07:49,350 --> 00:07:51,450
‫Also Seite hier, minus eins, also

164
00:07:51,450 --> 00:07:54,260
‫die vorherige Seite mal die Anzahl der Ergebnisse auf

165
00:07:54,260 --> 00:07:55,103
‫jeder Seite.

166
00:07:56,050 --> 00:07:58,870
‫Okay, so viele Dokumente werden

167
00:07:58,870 --> 00:08:00,133
‫übersprungen.

168
00:08:01,772 --> 00:08:03,630
‫Okay, ich hoffe, das war sinnvoll.

169
00:08:03,630 --> 00:08:06,520
‫Lassen Sie uns nun weitermachen und dies tatsächlich versuchen.

170
00:08:06,520 --> 00:08:09,460
‫Und da wir hier nur so wenige Ergebnisse haben, müssen

171
00:08:09,460 --> 00:08:12,093
‫wir es mit einer wirklich kleinen Grenze testen.

172
00:08:13,260 --> 00:08:17,440
‫Nehmen wir also an, wir wollen nur drei Ergebnisse pro Seite, und fangen wir

173
00:08:17,440 --> 00:08:19,640
‫tatsächlich mit Seite Nummer eins an.

174
00:08:22,280 --> 00:08:25,240
‫Also absenden, und tatsächlich bekommen wir jetzt nur drei

175
00:08:25,240 --> 00:08:27,463
‫Ergebnisse, wie Sie hier sehen können.

176
00:08:28,880 --> 00:08:30,630
‫Also diese drei, mal sehen.

177
00:08:30,630 --> 00:08:32,030
‫Also The Forest Hiker, The

178
00:08:32,030 --> 00:08:33,320
‫Sea Explorer und The

179
00:08:33,320 --> 00:08:34,473
‫City Wanderer.

180
00:08:35,550 --> 00:08:36,630
‫Okay?

181
00:08:36,630 --> 00:08:38,900
‫Versuchen wir es mit Seite Nummer

182
00:08:38,900 --> 00:08:41,700
‫zwei, und aus irgendeinem Grund springt der Postbote

183
00:08:41,700 --> 00:08:44,393
‫jedes Mal herum, wenn ich die URL ändere.

184
00:08:45,900 --> 00:08:47,940
‫Wie auch immer, jetzt haben wir The

185
00:08:47,940 --> 00:08:49,250
‫Park Camper, The Snow

186
00:08:49,250 --> 00:08:50,810
‫Adventurer und The Sports Lover.

187
00:08:50,810 --> 00:08:52,920
‫Sie sehen also, dass

188
00:08:52,920 --> 00:08:55,130
‫wir jetzt tatsächlich verschiedene Touren haben.

189
00:08:55,130 --> 00:08:55,963
‫Okay?

190
00:08:55,963 --> 00:08:59,467
‫Und so können wir sagen, dass unsere

191
00:08:59,467 --> 00:09:01,683
‫Paginierung hier bereits funktioniert.

192
00:09:03,550 --> 00:09:05,120
‫Jetzt die letzte Seite,

193
00:09:05,120 --> 00:09:07,630
‫und wir haben jetzt The Northern Lights,

194
00:09:07,630 --> 00:09:08,860
‫The Wine

195
00:09:08,860 --> 00:09:10,780
‫Taster und The Star Gazer.

196
00:09:10,780 --> 00:09:12,100
‫Gut?

197
00:09:12,100 --> 00:09:16,380
‫Was ist nun, wenn wir versuchen, auf Seite Nummer vier zu gehen?

198
00:09:16,380 --> 00:09:19,020
‫Wir wissen bereits, dass wir nur

199
00:09:19,020 --> 00:09:22,820
‫neun Touren haben, und so sollte auf Seite vier nichts stehen.

200
00:09:22,820 --> 00:09:23,653
‫Rechts?

201
00:09:23,653 --> 00:09:25,040
‫Lassen Sie uns das also testen.

202
00:09:25,040 --> 00:09:27,600
‫Und tatsächlich bekommen wir null Ergebnisse.

203
00:09:27,600 --> 00:09:30,163
‫Aber das ist natürlich nicht optimal.

204
00:09:31,010 --> 00:09:34,130
‫Okay, und lassen Sie uns das jetzt beheben und

205
00:09:34,130 --> 00:09:37,207
‫im Grunde jedes Mal einen Fehler auslösen, wenn der

206
00:09:37,207 --> 00:09:40,050
‫Benutzer eine Seite auswählt, die nicht existiert.

207
00:09:40,050 --> 00:09:42,320
‫Denn das ist im Grunde die Situation hier.

208
00:09:42,320 --> 00:09:45,600
‫Der Benutzer hat eine Seite angefordert, die einfach nicht existiert.

209
00:09:45,600 --> 00:09:49,660
‫Wir haben nicht genug Ergebnisse, um vier Seiten mit drei Ergebnissen

210
00:09:49,660 --> 00:09:50,733
‫zu haben.

211
00:09:53,120 --> 00:09:55,560
‫Lassen Sie uns das jetzt tun,

212
00:09:55,560 --> 00:09:57,130
‫und dies wird

213
00:09:57,130 --> 00:10:00,020
‫tatsächlich nur passieren, wenn es eine Seite für

214
00:10:00,020 --> 00:10:03,880
‫die Abfrage gibt, und lassen Sie uns diese if-Anweisung hier erstellen.

215
00:10:03,880 --> 00:10:08,880
‫Also auf Anfrage. Anfrage. Seite, nur in

216
00:10:10,920 --> 00:10:13,960
‫diesem Fall testen wir, ob wir mehr

217
00:10:13,960 --> 00:10:16,560
‫Touren überspringen, als wir tatsächlich haben.

218
00:10:16,560 --> 00:10:18,610
‫Kommen wir also zur Anzahl der Touren.

219
00:10:18,610 --> 00:10:22,830
‫Die Anzahl der Touren ist also gleich, und jetzt werden

220
00:10:22,830 --> 00:10:25,403
‫wir tatsächlich eine neue Methode lernen.

221
00:10:26,610 --> 00:10:28,780
‫Es gibt also eine neue

222
00:10:28,780 --> 00:10:30,953
‫Methode im Tour-Modell, die countDocuments genannt wird.

223
00:10:34,600 --> 00:10:37,840
‫Okay? Und wie der Name schon

224
00:10:37,840 --> 00:10:40,533
‫sagt, wird dies die Anzahl der Dokumente zurückgeben, in Ordnung?

225
00:10:40,533 --> 00:10:42,600
‫Eigentlich wird es ein Versprechen zurückgeben, aber

226
00:10:42,600 --> 00:10:44,410
‫wir warten dann auf das Versprechen

227
00:10:44,410 --> 00:10:45,980
‫und so wird es dann

228
00:10:45,980 --> 00:10:48,133
‫mit dem Ergebnis der Anzahl der Touren zurückkommen.

229
00:10:49,064 --> 00:10:53,810
‫Okay? Wenn also die Anzahl der Dokumente,

230
00:10:53,810 --> 00:10:57,550
‫die wir überspringen, größer ist als die Anzahl der tatsächlich

231
00:10:57,550 --> 00:11:01,720
‫vorhandenen Dokumente, bedeutet dies, dass die Seite nicht existiert, in Ordnung?

232
00:11:01,720 --> 00:11:02,553
‫Das macht Sinn?

233
00:11:04,720 --> 00:11:07,600
‫Wenn also skip größer ist als die

234
00:11:07,600 --> 00:11:09,360
‫Anzahl der Touren, und

235
00:11:09,360 --> 00:11:12,493
‫jetzt werde ich hier einen neuen Fehler ausgeben.

236
00:11:14,060 --> 00:11:14,893
‫Okay?

237
00:11:14,893 --> 00:11:16,380
‫Also neuen

238
00:11:18,490 --> 00:11:21,253
‫Fehler werfen, diese Seite existiert nicht.

239
00:11:23,260 --> 00:11:25,970
‫Warum werfe ich jetzt hier einen Fehler?

240
00:11:25,970 --> 00:11:29,120
‫Nun, einfach, weil wenn ich

241
00:11:29,120 --> 00:11:32,560
‫hier in dem Triblock, in dem wir

242
00:11:32,560 --> 00:11:33,830
‫uns gerade

243
00:11:33,830 --> 00:11:37,180
‫befinden, einen Fehler werfe, wird er automatisch

244
00:11:37,180 --> 00:11:42,180
‫und sofort zum Catch-Block übergehen und dann diese 404-Fehlermeldung zurücksenden.

245
00:11:42,610 --> 00:11:43,830
‫Okay?

246
00:11:43,830 --> 00:11:46,470
‫Und das ist es, was wir jetzt wollen.

247
00:11:46,470 --> 00:11:49,440
‫Denken Sie nur daran, dass wir etwas später im Kurs

248
00:11:49,440 --> 00:11:51,510
‫eine viel bessere Fehlerbehandlung implementieren werden.

249
00:11:51,510 --> 00:11:55,010
‫Und eigentlich gleich im nächsten Abschnitt, okay?

250
00:11:55,010 --> 00:11:56,820
‫Aber lassen Sie es uns vorerst einfach

251
00:11:56,820 --> 00:11:58,390
‫halten. Geben Sie diesen Fehler hier

252
00:11:58,390 --> 00:12:00,880
‫aus, falls wir versuchen, mehr Dokumente zu überspringen, als

253
00:12:00,880 --> 00:12:01,980
‫wir tatsächlich haben.

254
00:12:02,830 --> 00:12:03,663
‫Okay?

255
00:12:04,620 --> 00:12:08,070
‫Dies ist also der richtige Fall, senden wir ihn hierher

256
00:12:08,070 --> 00:12:11,350
‫und das ist nicht das Ergebnis, das ich erwartet

257
00:12:11,350 --> 00:12:13,150
‫hatte, also gehen wir

258
00:12:13,150 --> 00:12:15,590
‫zurück, also jetzt ist unsere Seite vier

259
00:12:15,590 --> 00:12:17,670
‫und das Limit ist drei.

260
00:12:17,670 --> 00:12:21,730
‫Der Sprung hier wäre also dreimal drei, also neun, okay?

261
00:12:21,730 --> 00:12:24,010
‫Und die Anzahl der Touren ist auch neun,

262
00:12:24,010 --> 00:12:26,890
‫also ist skip nicht größer als die Anzahl der Touren und

263
00:12:26,890 --> 00:12:28,840
‫daher erhalten wir diesen Fehler nicht.

264
00:12:28,840 --> 00:12:32,910
‫Was wir also tun müssen, ist, ihn auf größer oder gleich zu setzen.

265
00:12:32,910 --> 00:12:35,423
‫Okay, und das sollte jetzt funktionieren.

266
00:12:36,350 --> 00:12:38,610
‫Und das dauert lange, und das

267
00:12:38,610 --> 00:12:39,443
‫tat es.

268
00:12:39,443 --> 00:12:42,290
‫Jetzt bekommen wir hier den Fail-Status und

269
00:12:42,290 --> 00:12:43,470
‫einen 404.

270
00:12:43,470 --> 00:12:44,303
‫Aus irgendeinem

271
00:12:45,170 --> 00:12:47,640
‫Grund wird dieser Fehler hier nicht angezeigt,

272
00:12:47,640 --> 00:12:49,113
‫was er eigentlich sollte.

273
00:12:50,360 --> 00:12:54,500
‫Aber keine Sorge, das ist nicht wirklich wichtig.

274
00:12:54,500 --> 00:12:58,010
‫Wichtig ist, dass es tatsächlich in unseren Catch-Block eingetreten

275
00:12:58,010 --> 00:13:00,810
‫ist und dann diese 404-Antwort zurückgesendet hat.

276
00:13:00,810 --> 00:13:03,490
‫Alles andere werden wir etwas später implementieren.

277
00:13:03,490 --> 00:13:05,660
‫Okay, und das ist es tatsächlich.

278
00:13:05,660 --> 00:13:09,140
‫Das sind also alle Methoden, die wir unserer Abfrage

279
00:13:09,140 --> 00:13:12,727
‫hinzufügen werden, und wenn wir hier endlich die nächste

280
00:13:12,727 --> 00:13:14,740
‫Codezeile erreichen, wird unsere

281
00:13:14,740 --> 00:13:17,440
‫Abfrage erwartet und mit den Touren zurückgegeben.

282
00:13:17,440 --> 00:13:21,365
‫Okay, und an dieser Stelle könnte unsere Abfrage

283
00:13:21,365 --> 00:13:22,770
‫tatsächlich so aussehen,

284
00:13:24,350 --> 00:13:26,600
‫also ungefähr so, ungefähr was

285
00:13:26,600 --> 00:13:27,850
‫haben

286
00:13:28,860 --> 00:13:31,433
‫wir hier haben wir sortieren, auswählen,

287
00:13:32,630 --> 00:13:34,020
‫also haben wir

288
00:13:34,020 --> 00:13:36,070
‫möglicherweise sortieren, und dann

289
00:13:36,070 --> 00:13:38,270
‫einige auswählen dort haben

290
00:13:38,270 --> 00:13:39,600
‫wir auch

291
00:13:39,600 --> 00:13:41,803
‫überspringen wir haben limit auch,

292
00:13:43,170 --> 00:13:46,270
‫und das ist wirklich eine große Abfrage.

293
00:13:46,270 --> 00:13:48,650
‫Und noch einmal, was uns erlaubt ist,

294
00:13:48,650 --> 00:13:51,680
‫dass jede dieser Methoden hier immer eine neue Abfrage zurückgibt,

295
00:13:51,680 --> 00:13:54,610
‫die wir dann mit der nächsten Methode und der

296
00:13:54,610 --> 00:13:55,570
‫nächsten Methode

297
00:13:55,570 --> 00:13:59,330
‫verketten können, und die nächste Methode, bis wir endlich auf die Abfrage

298
00:13:59,330 --> 00:14:02,890
‫warten, damit sie es kann Geben Sie uns tatsächlich unsere Dokumente.

299
00:14:02,890 --> 00:14:06,110
‫Okay, also lass uns all diese Kommentare loswerden und

300
00:14:06,110 --> 00:14:08,500
‫ja, das war's für den Moment.

301
00:14:08,500 --> 00:14:10,850
‫Für diese Funktionen werden wir in der nächsten Vorlesung

302
00:14:10,850 --> 00:14:12,220
‫nur noch eine hinzufügen,

303
00:14:12,220 --> 00:14:14,570
‫aber diese wird ein bisschen anders sein als diese.

304
00:14:14,570 --> 00:14:18,090
‫Es wird keine dieser Abfragemethoden verwenden, in Ordnung?

305
00:14:18,090 --> 00:14:20,470
‫Ich hoffe also, dass Sie in den letzten

306
00:14:20,470 --> 00:14:22,230
‫paar Vorlesungen wirklich die

307
00:14:22,230 --> 00:14:24,530
‫Besonderheiten der Datenabfrage mit Mongoose kennengelernt haben.

308
00:14:24,530 --> 00:14:27,540
‫Natürlich sind all diese Methoden, die wir verwendet haben,

309
00:14:27,540 --> 00:14:30,640
‫nicht nur für diese Funktionen nützlich, die wir hier implementiert haben.

310
00:14:30,640 --> 00:14:32,760
‫Sie können wirklich alle Arten von

311
00:14:32,760 --> 00:14:36,200
‫Abfragen erstellen, die Sie sich für alle Arten von Anwendungen vorstellen können.

312
00:14:36,200 --> 00:14:38,890
‫Ich habe Ihnen hier alle Techniken dieser

313
00:14:38,890 --> 00:14:41,090
‫verschiedenen API-Funktionen in diesem Zusammenhang gezeigt,

314
00:14:41,090 --> 00:14:43,000
‫aber Sie können sie

315
00:14:43,000 --> 00:14:46,520
‫in Zukunft natürlich in allen Ihren Anwendungen verwenden, okay?

316
00:14:46,520 --> 00:14:48,780
‫Also ich hoffe das hat dir

317
00:14:48,780 --> 00:14:53,510
‫Spaß gemacht und wenn ja, dann lass uns jetzt gleich zum nächsten übergehen.

318
00:14:53,510 --> 00:14:54,343
‫Mach's gut!

