﻿1
00:00:00,673 --> 00:00:03,770
‫Narratore: Ora, un'altra caratteristica estremamente importante

2
00:00:03,770 --> 00:00:07,200
‫di una buona API è fornire l'impaginazione.

3
00:00:07,200 --> 00:00:09,040
‫Quindi, in pratica, consentire

4
00:00:09,040 --> 00:00:12,660
‫all'utente di selezionare solo una determinata pagina dei nostri risultati,

5
00:00:12,660 --> 00:00:15,373
‫nel caso in cui abbiamo molti risultati.

6
00:00:17,140 --> 00:00:19,070
‫Quindi supponiamo di avere, ad

7
00:00:19,070 --> 00:00:21,720
‫esempio, 1000 documenti in una certa raccolta.

8
00:00:21,720 --> 00:00:25,160
‫E diciamo che su ogni pagina abbiamo 100 documenti.

9
00:00:25,160 --> 00:00:28,230
‫Quindi questo significherebbe che avremmo 10 pagine, giusto?

10
00:00:28,230 --> 00:00:31,210
‫Quindi 10 per 100 fa 1000.

11
00:00:31,210 --> 00:00:34,430
‫E quindi, in base a ciò, come implementeremo l'impaginazione utilizzando

12
00:00:34,430 --> 00:00:36,460
‫o la stringa di query?

13
00:00:36,460 --> 00:00:40,003
‫Bene, useremo la pagina e delimitare i campi.

14
00:00:41,460 --> 00:00:44,810
‫Quindi ci sarà un campo pagina.

15
00:00:44,810 --> 00:00:47,230
‫Diciamo che vogliamo la pagina due e

16
00:00:47,230 --> 00:00:49,053
‫ci sarà un campo limite.

17
00:00:50,760 --> 00:00:53,580
‫E questo limite qui significa sostanzialmente la quantità

18
00:00:53,580 --> 00:00:56,090
‫di risultati che vogliamo per pagina.

19
00:00:56,090 --> 00:00:59,090
‫E questo in realtà è impostato qui solo su

20
00:00:59,090 --> 00:01:01,610
‫10 e ovviamente dobbiamo correggere questo qui.

21
00:01:01,610 --> 00:01:03,910
‫Non è una virgola, ma una e.

22
00:01:03,910 --> 00:01:06,690
‫Quindi pagina due e il limite 10.

23
00:01:06,690 --> 00:01:09,930
‫Ora tornando all'esempio di 1000 risultati, se il

24
00:01:09,930 --> 00:01:13,380
‫limite è 10, quindi solo 10 risultati per pagina,

25
00:01:13,380 --> 00:01:15,670
‫allora avremo 100 pagine e

26
00:01:15,670 --> 00:01:18,800
‫qui verrà visualizzata la pagina numero 2

27
00:01:18,800 --> 00:01:20,780
‫di queste 100 pagine.

28
00:01:20,780 --> 00:01:21,880
‫Va bene?

29
00:01:21,880 --> 00:01:26,600
‫Ora, abbiamo bisogno di un modo per implementarlo usando Mongoose.

30
00:01:26,600 --> 00:01:29,820
‫Quindi diamo un'occhiata a come potremmo farlo tornando

31
00:01:29,820 --> 00:01:31,653
‫al nostro codice.

32
00:01:33,790 --> 00:01:35,313
‫Quindi funzione numero quattro,

33
00:01:36,970 --> 00:01:37,913
‫Pagination.

34
00:01:39,530 --> 00:01:40,363
‫Va bene,

35
00:01:40,363 --> 00:01:42,810
‫e inizierò costruendo qui una query di

36
00:01:42,810 --> 00:01:44,880
‫esempio proprio come abbiamo fatto prima.

37
00:01:44,880 --> 00:01:48,930
‫Quindi diciamo che la query è uguale query.

38
00:01:48,930 --> 00:01:51,200
‫E ora che tipo di metodi

39
00:01:51,200 --> 00:01:53,270
‫abbiamo per implementare l'impaginazione?

40
00:01:53,270 --> 00:01:55,770
‫Bene, il più utile è saltare e

41
00:01:56,810 --> 00:01:59,570
‫spiegherò cosa fa in un secondo, quindi mettiamo

42
00:01:59,570 --> 00:02:01,510
‫un numero casuale qui.

43
00:02:01,510 --> 00:02:03,913
‫Quindi salta e limita, e

44
00:02:05,830 --> 00:02:07,070
‫mettiamo 10.

45
00:02:07,070 --> 00:02:10,150
‫e quindi questo limite qui è in realtà esattamente lo stesso

46
00:02:10,150 --> 00:02:12,670
‫del limite che abbiamo definito nella stringa di query.

47
00:02:12,670 --> 00:02:14,970
‫Quindi fondamentalmente la quantità di risultati

48
00:02:14,970 --> 00:02:16,810
‫che vogliamo nella query.

49
00:02:16,810 --> 00:02:20,710
‫E poi skip, che abbiamo qui, è la quantità di risultati

50
00:02:20,710 --> 00:02:24,490
‫che dovrebbero essere saltati prima di interrogare effettivamente i dati.

51
00:02:24,490 --> 00:02:27,836
‫Va bene, di nuovo, questo è solo un segnaposto qui.

52
00:02:27,836 --> 00:02:30,573
‫Torniamo a questo esempio che abbiamo qui.

53
00:02:31,550 --> 00:02:34,193
‫Mi limiterò a copiare questa stringa di query qui.

54
00:02:36,279 --> 00:02:39,790
‫quindi diciamo che l'utente vuole la pagina numero

55
00:02:39,790 --> 00:02:42,600
‫due con 10 risultati per pagina.

56
00:02:42,600 --> 00:02:46,320
‫Ciò significa che i risultati da 1 a 10 sono a pagina uno

57
00:02:46,320 --> 00:02:49,090
‫e da 11 a 20 a pagina 2.

58
00:02:49,090 --> 00:02:52,660
‫Ok, questo significa che vogliamo saltare 10 risultati

59
00:02:52,660 --> 00:02:55,720
‫prima di iniziare effettivamente a interrogare.

60
00:02:55,720 --> 00:02:56,750
‫Va bene.

61
00:02:56,750 --> 00:02:59,030
‫Quindi, di nuovo, da uno a 10 sono

62
00:03:00,840 --> 00:03:02,430
‫per la pagina uno e poi

63
00:03:02,430 --> 00:03:04,770
‫da 11 a 20 sono per la pagina

64
00:03:07,230 --> 00:03:08,390
‫due, e così

65
00:03:08,390 --> 00:03:09,580
‫via e così via.

66
00:03:09,580 --> 00:03:13,303
‫Quindi da 21 a 30 sarà pagina tre, e così

67
00:03:14,400 --> 00:03:15,920
‫via e così via.

68
00:03:15,920 --> 00:03:17,950
‫E quindi dobbiamo saltare

69
00:03:17,950 --> 00:03:21,590
‫10 risultati per arrivare al risultato numero 11, giusto?

70
00:03:21,590 --> 00:03:26,590
‫Quindi al risultato numero 11 che sarà il primo a pagina due.

71
00:03:26,640 --> 00:03:30,230
‫Ok, e poiché è stata richiesta la pagina due, di

72
00:03:30,230 --> 00:03:33,050
‫nuovo dobbiamo saltare 10 risultati prima di

73
00:03:33,050 --> 00:03:35,380
‫iniziare effettivamente la pagina due.

74
00:03:35,380 --> 00:03:37,450
‫Va bene? Ha senso?

75
00:03:37,450 --> 00:03:41,060
‫E per esempio, se richiedessimo la pagina numero

76
00:03:41,060 --> 00:03:43,380
‫tre, beh, ovviamente, prima dovrebbero

77
00:03:43,380 --> 00:03:45,400
‫essere saltati 20 risultati.

78
00:03:45,400 --> 00:03:46,840
‫E quindi avremo bisogno

79
00:03:46,840 --> 00:03:49,680
‫di un modo per calcolare questo valore di salto qui.

80
00:03:49,680 --> 00:03:52,750
‫Quindi basato fondamentalmente sulla pagina e sul limite.

81
00:03:52,750 --> 00:03:55,700
‫Ora potresti chiedere perché non chiedo direttamente il valore di

82
00:03:55,700 --> 00:03:57,690
‫salto nella stringa di query, ma

83
00:03:57,690 --> 00:04:00,370
‫questo perché per l'utente questo valore qui è una

84
00:04:00,370 --> 00:04:01,980
‫specie di astratto, ok?

85
00:04:01,980 --> 00:04:05,537
‫È molto più semplice dire semplicemente "Beh, voglio la pagina numero uno" o voglio la

86
00:04:05,537 --> 00:04:06,967
‫pagina numero cinque "o voglio come

87
00:04:06,967 --> 00:04:09,050
‫la pagina numero 10. " Ok,

88
00:04:09,050 --> 00:04:12,520
‫quindi per l'utente è molto più facile non gestire

89
00:04:12,520 --> 00:04:14,983
‫i valori di salto qui e

90
00:04:14,983 --> 00:04:18,100
‫tutto il resto, l'utente vuole che sia facile

91
00:04:18,100 --> 00:04:20,500
‫e definire solo una pagina.

92
00:04:20,500 --> 00:04:22,540
‫Ora, prima di poter effettivamente

93
00:04:22,540 --> 00:04:26,420
‫iniziare a calcolare il valore di salto, dobbiamo prima ottenere la

94
00:04:26,420 --> 00:04:28,840
‫pagina e il limite dalla stringa di

95
00:04:28,840 --> 00:04:31,700
‫query e dovremmo anche definire alcuni valori predefiniti.

96
00:04:31,700 --> 00:04:33,550
‫Ok, questo è fondamentalmente

97
00:04:33,550 --> 00:04:35,910
‫perché vogliamo ancora avere l'impaginazione

98
00:04:35,910 --> 00:04:38,560
‫anche se l'utente non specifica alcuna pagina

99
00:04:38,560 --> 00:04:40,040
‫o alcun limite.

100
00:04:40,040 --> 00:04:43,130
‫Perché per esempio diciamo che abbiamo un milione

101
00:04:43,130 --> 00:04:44,900
‫di risultati nel nostro

102
00:04:44,900 --> 00:04:47,750
‫database, e poi ovviamente quando l'utente fa

103
00:04:47,750 --> 00:04:51,820
‫la richiesta non mostreremmo semplicemente tutti questi 10 milioni di risultati.

104
00:04:51,820 --> 00:04:54,860
‫Non sarebbe molto facile da usare, vero?

105
00:04:54,860 --> 00:04:58,610
‫E così, definirò per impostazione predefinita il numero di pagina

106
00:04:58,610 --> 00:05:01,500
‫uno e un limite di diciamo 100.

107
00:05:01,500 --> 00:05:05,100
‫Quindi, per impostazione predefinita, quando un utente richiede tutti i

108
00:05:05,100 --> 00:05:08,070
‫tour in questo esempio, ne ottiene solo 100

109
00:05:08,070 --> 00:05:10,273
‫e non un milione, ok?

110
00:05:11,470 --> 00:05:16,427
‫Quindi la pagina è ovviamente richiesta. interrogazione. page e ora

111
00:05:18,290 --> 00:05:20,890
‫lo moltiplicherò per uno, che è solo

112
00:05:20,890 --> 00:05:23,120
‫un bel trucco per convertire una

113
00:05:23,120 --> 00:05:24,830
‫stringa in un numero.

114
00:05:24,830 --> 00:05:28,370
‫Ok, forse hai notato prima che ogni volta che inseriamo

115
00:05:28,370 --> 00:05:30,600
‫effettivamente un numero in una

116
00:05:30,600 --> 00:05:33,730
‫stringa di query, sarà quindi una stringa o un

117
00:05:33,730 --> 00:05:37,410
‫oggetto query, e quindi dobbiamo risolverlo semplicemente moltiplicando per uno.

118
00:05:37,410 --> 00:05:41,760
‫Ok, e poi per impostazione predefinita, vogliamo la pagina numero uno.

119
00:05:41,760 --> 00:05:42,593
‫Va bene?

120
00:05:42,593 --> 00:05:44,750
‫E quindi questo è un bel

121
00:05:44,750 --> 00:05:47,690
‫modo in JavaScript per definire sostanzialmente i valori predefiniti.

122
00:05:47,690 --> 00:05:50,463
‫E sono sicuro che lo conosci, vero?

123
00:05:51,310 --> 00:05:56,310
‫In ogni caso, il limite è su richiesta. interrogazione. limite di nuovo

124
00:05:58,370 --> 00:06:00,610
‫uno per convertirlo, o il

125
00:06:00,610 --> 00:06:04,300
‫valore predefinito di 100 che abbiamo appena menzionato.

126
00:06:04,300 --> 00:06:08,240
‫Quindi idealmente l'utente specificherà solo il numero di pagina che richiede

127
00:06:08,240 --> 00:06:09,570
‫e non si

128
00:06:09,570 --> 00:06:12,010
‫preoccuperà nemmeno del limite di pagina.

129
00:06:12,010 --> 00:06:14,370
‫Questo è per casi d'uso più specifici.

130
00:06:14,370 --> 00:06:19,060
‫Ok, e ora tutto ciò che dobbiamo fare è definire quindi per calcolare

131
00:06:19,060 --> 00:06:20,420
‫fondamentalmente quel valore

132
00:06:21,450 --> 00:06:25,130
‫di salto di cui abbiamo appena parlato qui prima.

133
00:06:25,130 --> 00:06:28,470
‫E il modo migliore per farlo è tornare a un esempio.

134
00:06:28,470 --> 00:06:31,940
‫Quindi, di nuovo, diciamo che stiamo richiedendo la pagina numero tre,

135
00:06:31,940 --> 00:06:33,610
‫con il limite di 10.

136
00:06:33,610 --> 00:06:37,140
‫e vediamo qui per la pagina numero tre i risultati sono

137
00:06:37,140 --> 00:06:38,900
‫da 21 a 30.

138
00:06:38,900 --> 00:06:42,340
‫Quindi inizia dal risultato numero 21, il che significa che

139
00:06:42,340 --> 00:06:44,110
‫dobbiamo saltare 20 risultati.

140
00:06:44,110 --> 00:06:47,140
‫E 20 risultati sono fondamentalmente due volte 10,

141
00:06:47,140 --> 00:06:49,510
‫quindi due volte questo limite.

142
00:06:49,510 --> 00:06:52,700
‫Ok, e da lì iniziamo a ottenere una formula.

143
00:06:52,700 --> 00:06:57,140
‫Quindi due per dieci è fondamentalmente tre meno uno per 10.

144
00:06:57,140 --> 00:06:59,293
‫E tre è la pagina su cui siamo.

145
00:07:00,161 --> 00:07:01,760
‫Quindi questa è la nostra formula.

146
00:07:01,760 --> 00:07:03,780
‫Quindi pagina meno uno e quindi

147
00:07:03,780 --> 00:07:05,693
‫la pagina precedente, in pratica,

148
00:07:06,690 --> 00:07:07,523
‫moltiplica il

149
00:07:08,750 --> 00:07:09,583
‫limite.

150
00:07:10,960 --> 00:07:13,733
‫Ok, quindi spero che avesse senso,

151
00:07:14,630 --> 00:07:17,273
‫ora sostituiamo questi valori qui.

152
00:07:18,330 --> 00:07:19,163
‫Salta

153
00:07:20,420 --> 00:07:22,193
‫e limite del limite.

154
00:07:23,610 --> 00:07:24,550
‫Va bene?

155
00:07:24,550 --> 00:07:27,900
‫Quindi, in pratica, questo numero qui è tutti i risultati che

156
00:07:27,900 --> 00:07:31,230
‫vengono prima della pagina che stiamo effettivamente richiedendo ora.

157
00:07:31,230 --> 00:07:34,330
‫Quindi, di nuovo, se stiamo richiedendo la pagina numero tre,

158
00:07:34,330 --> 00:07:37,280
‫i nostri risultati inizieranno dalla pagina numero 21.

159
00:07:37,280 --> 00:07:40,020
‫E quindi vogliamo saltare 20 risultati prima di quello.

160
00:07:40,020 --> 00:07:41,490
‫E quindi 20

161
00:07:41,490 --> 00:07:44,683
‫risultati sono perché abbiamo 2 pagine per 10 risultati

162
00:07:45,940 --> 00:07:49,350
‫ciascuno, sì, sarà la pagina che abbiamo appena richiesto.

163
00:07:49,350 --> 00:07:51,450
‫Quindi pagina qui, meno uno, quindi

164
00:07:51,450 --> 00:07:54,260
‫la pagina precedente moltiplica il numero di risultati su

165
00:07:54,260 --> 00:07:55,103
‫ciascuna pagina.

166
00:07:56,050 --> 00:07:58,870
‫Ok, questa è la quantità di documenti

167
00:07:58,870 --> 00:08:00,133
‫che verranno saltati.

168
00:08:01,772 --> 00:08:03,630
‫Ok, quindi spero che abbia avuto senso.

169
00:08:03,630 --> 00:08:06,520
‫Ora andiamo avanti e proviamo effettivamente questo.

170
00:08:06,520 --> 00:08:09,460
‫E poiché abbiamo solo così pochi risultati qui,

171
00:08:09,460 --> 00:08:12,093
‫dobbiamo testarlo con un limite davvero piccolo.

172
00:08:13,260 --> 00:08:17,440
‫Quindi diciamo che vogliamo solo tre risultati per pagina e

173
00:08:17,440 --> 00:08:19,640
‫iniziamo dalla pagina numero uno.

174
00:08:22,280 --> 00:08:25,240
‫Quindi invialo, e infatti ora otteniamo solo tre

175
00:08:25,240 --> 00:08:27,463
‫risultati come puoi vedere qui.

176
00:08:28,880 --> 00:08:30,630
‫Quindi questi tre, vediamo.

177
00:08:30,630 --> 00:08:32,030
‫Quindi The Forest Hiker, The

178
00:08:32,030 --> 00:08:33,320
‫Sea Explorer e The

179
00:08:33,320 --> 00:08:34,473
‫City Wanderer.

180
00:08:35,550 --> 00:08:36,630
‫Va bene?

181
00:08:36,630 --> 00:08:38,900
‫Proviamo con la pagina numero

182
00:08:38,900 --> 00:08:41,700
‫due, e per qualche ragione il postino continua

183
00:08:41,700 --> 00:08:44,393
‫a saltare ogni volta che cambio l'URL.

184
00:08:45,900 --> 00:08:47,940
‫Ad ogni modo, ora abbiamo The Park

185
00:08:47,940 --> 00:08:49,250
‫Camper, The Snow

186
00:08:49,250 --> 00:08:50,810
‫Adventurer e The Sports Lover.

187
00:08:50,810 --> 00:08:52,920
‫Quindi inizi a vedere che

188
00:08:52,920 --> 00:08:55,130
‫in realtà ora abbiamo tour diversi.

189
00:08:55,130 --> 00:08:55,963
‫Va bene?

190
00:08:55,963 --> 00:08:59,467
‫E quindi possiamo dire che la nostra impaginazione

191
00:08:59,467 --> 00:09:01,683
‫qui sta già funzionando.

192
00:09:03,550 --> 00:09:05,120
‫Ora l'ultima pagina

193
00:09:05,120 --> 00:09:07,630
‫e ora abbiamo The Northern Lights,

194
00:09:07,630 --> 00:09:08,860
‫The Wine

195
00:09:08,860 --> 00:09:10,780
‫Taster e The Star Gazer.

196
00:09:10,780 --> 00:09:12,100
‫Va bene?

197
00:09:12,100 --> 00:09:16,380
‫E se provassimo ad andare alla pagina numero quattro?

198
00:09:16,380 --> 00:09:19,020
‫Sappiamo già che abbiamo solo nove

199
00:09:19,020 --> 00:09:22,820
‫tour, quindi a pagina numero quattro non dovrebbe esserci nulla.

200
00:09:22,820 --> 00:09:23,653
‫Destra?

201
00:09:23,653 --> 00:09:25,040
‫Quindi proviamolo.

202
00:09:25,040 --> 00:09:27,600
‫E infatti otteniamo zero risultati.

203
00:09:27,600 --> 00:09:30,163
‫Ma questo ovviamente non è l'ideale.

204
00:09:31,010 --> 00:09:34,130
‫Ok, quindi ora andiamo avanti e risolviamo il problema

205
00:09:34,130 --> 00:09:37,207
‫e fondamentalmente generiamo un errore ogni volta che

206
00:09:37,207 --> 00:09:40,050
‫l'utente seleziona una pagina che non esiste.

207
00:09:40,050 --> 00:09:42,320
‫Perché questa è fondamentalmente la situazione qui.

208
00:09:42,320 --> 00:09:45,600
‫L'utente ha richiesto una pagina che semplicemente non esiste.

209
00:09:45,600 --> 00:09:49,660
‫Non abbiamo abbastanza risultati per avere quattro pagine con

210
00:09:49,660 --> 00:09:50,733
‫tre risultati.

211
00:09:53,120 --> 00:09:55,560
‫Facciamolo ora, e questo in

212
00:09:55,560 --> 00:09:57,130
‫realtà accadrà solo

213
00:09:57,130 --> 00:10:00,020
‫quando c'è una pagina sulla query

214
00:10:00,020 --> 00:10:03,880
‫e quindi creiamo effettivamente questa istruzione if qui.

215
00:10:03,880 --> 00:10:08,880
‫Quindi, se richiesta. interrogazione. pagina, solo in

216
00:10:10,920 --> 00:10:13,960
‫questo caso verificheremo se stiamo saltando più

217
00:10:13,960 --> 00:10:16,560
‫tour di quanti ne abbiamo effettivamente.

218
00:10:16,560 --> 00:10:18,610
‫Quindi prendiamo la quantità di tour.

219
00:10:18,610 --> 00:10:22,830
‫Quindi il numero di tour è uguale a, e ora

220
00:10:22,830 --> 00:10:25,403
‫impareremo effettivamente un nuovo metodo.

221
00:10:26,610 --> 00:10:28,780
‫Quindi c'è un nuovo metodo

222
00:10:28,780 --> 00:10:30,953
‫sul modello Tour che si chiama countDocuments.

223
00:10:34,600 --> 00:10:37,840
‫Va bene? E come dice il

224
00:10:37,840 --> 00:10:40,533
‫nome, questo restituirà il numero di documenti, ok?

225
00:10:40,533 --> 00:10:42,600
‫In realtà restituirà una promessa, ma

226
00:10:42,600 --> 00:10:44,410
‫poi aspettiamo la promessa e

227
00:10:44,410 --> 00:10:45,980
‫quindi tornerà con

228
00:10:45,980 --> 00:10:48,133
‫il risultato della quantità di tour.

229
00:10:49,064 --> 00:10:53,810
‫Va bene? E quindi se il numero di

230
00:10:53,810 --> 00:10:57,550
‫documenti che saltiamo è maggiore del numero di documenti che

231
00:10:57,550 --> 00:11:01,720
‫effettivamente esistono, allora significa che la pagina non esiste, va bene?

232
00:11:01,720 --> 00:11:02,553
‫Questo ha senso?

233
00:11:04,720 --> 00:11:07,600
‫Quindi, se skip è maggiore del numero di

234
00:11:07,600 --> 00:11:09,360
‫tour, e per ora

235
00:11:09,360 --> 00:11:12,493
‫quello che farò qui è lanciare un nuovo errore.

236
00:11:14,060 --> 00:11:14,893
‫Va bene?

237
00:11:14,893 --> 00:11:16,380
‫Quindi lancia un

238
00:11:18,490 --> 00:11:21,253
‫nuovo errore questa pagina non esiste.

239
00:11:23,260 --> 00:11:25,970
‫Ora perché sto generando un errore qui?

240
00:11:25,970 --> 00:11:29,120
‫Bene, semplicemente perché se lancio un

241
00:11:29,120 --> 00:11:32,560
‫errore qui nel triblocco in cui ci

242
00:11:32,560 --> 00:11:33,830
‫troviamo attualmente,

243
00:11:33,830 --> 00:11:37,180
‫si sposterà automaticamente e immediatamente al blocco

244
00:11:37,180 --> 00:11:42,180
‫catch, e quindi invierà questo tipo di messaggio di errore 404.

245
00:11:42,610 --> 00:11:43,830
‫Va bene?

246
00:11:43,830 --> 00:11:46,470
‫E quindi è quello che vogliamo per ora.

247
00:11:46,470 --> 00:11:49,440
‫Tieni presente che implementeremo una gestione degli errori molto migliore

248
00:11:49,440 --> 00:11:51,510
‫un po' più avanti nel corso.

249
00:11:51,510 --> 00:11:55,010
‫E proprio nella prossima sezione, ok?

250
00:11:55,010 --> 00:11:56,820
‫Ma per ora cerchiamo di mantenerlo semplice,

251
00:11:56,820 --> 00:11:58,390
‫lanciamo questo errore qui nel caso

252
00:11:58,390 --> 00:12:00,880
‫in cui stiamo cercando di saltare più documenti di quelli

253
00:12:00,880 --> 00:12:01,980
‫che abbiamo effettivamente.

254
00:12:02,830 --> 00:12:03,663
‫Va bene?

255
00:12:04,620 --> 00:12:08,070
‫Quindi questo è il caso giusto, mandiamolo qui e

256
00:12:08,070 --> 00:12:11,350
‫non è il risultato che mi aspettavo, quindi torniamo

257
00:12:11,350 --> 00:12:13,150
‫indietro, quindi in questo

258
00:12:13,150 --> 00:12:15,590
‫momento la nostra pagina è quattro

259
00:12:15,590 --> 00:12:17,670
‫e il limite è tre.

260
00:12:17,670 --> 00:12:21,730
‫Quindi il salto qui sarebbe tre per tre, quindi nove, ok?

261
00:12:21,730 --> 00:12:24,010
‫E anche il numero di tour è nove,

262
00:12:24,010 --> 00:12:26,890
‫quindi lo skip non è maggiore del numero di tour

263
00:12:26,890 --> 00:12:28,840
‫e quindi non riceviamo questo errore.

264
00:12:28,840 --> 00:12:32,910
‫Quindi quello che dobbiamo fare è impostarlo su maggiore o uguale.

265
00:12:32,910 --> 00:12:35,423
‫Ok, quindi ora dovrebbe funzionare.

266
00:12:36,350 --> 00:12:38,610
‫E ci vuole molto tempo, e così

267
00:12:38,610 --> 00:12:39,443
‫è stato.

268
00:12:39,443 --> 00:12:42,290
‫Ora otteniamo lo stato di errore qui e

269
00:12:42,290 --> 00:12:43,470
‫un 404.

270
00:12:43,470 --> 00:12:44,303
‫Per

271
00:12:45,170 --> 00:12:47,640
‫qualche motivo questo errore non viene visualizzato

272
00:12:47,640 --> 00:12:49,113
‫qui, come dovrebbe effettivamente.

273
00:12:50,360 --> 00:12:54,500
‫Ma non preoccuparti, non è molto importante.

274
00:12:54,500 --> 00:12:58,010
‫Ciò che conta è che è effettivamente entrato nel nostro blocco

275
00:12:58,010 --> 00:13:00,810
‫catch e quindi ha inviato questa risposta 404.

276
00:13:00,810 --> 00:13:03,490
‫Tutto il resto lo implementeremo un po' più tardi.

277
00:13:03,490 --> 00:13:05,660
‫Ok, e in effetti è così.

278
00:13:05,660 --> 00:13:09,140
‫Quindi questi sono tutti i metodi che aggiungeremo alla nostra

279
00:13:09,140 --> 00:13:12,727
‫query, e così quando finalmente raggiungeremo la prossima riga di

280
00:13:12,727 --> 00:13:14,740
‫codice qui, la nostra query

281
00:13:14,740 --> 00:13:17,440
‫sarà attesa e tornerà con i tour.

282
00:13:17,440 --> 00:13:21,365
‫Ok, e a questo punto la nostra query potrebbe

283
00:13:21,365 --> 00:13:22,770
‫effettivamente assomigliare a

284
00:13:24,350 --> 00:13:26,600
‫qualcosa del genere, quindi qualcosa

285
00:13:26,600 --> 00:13:27,850
‫del

286
00:13:28,860 --> 00:13:31,433
‫genere, qualcosa del genere cosa abbiamo

287
00:13:32,630 --> 00:13:34,020
‫qui abbiamo sort,

288
00:13:34,020 --> 00:13:36,070
‫select, quindi potremmo avere sort,

289
00:13:36,070 --> 00:13:38,270
‫e poi alcuni select lì

290
00:13:38,270 --> 00:13:39,600
‫abbiamo anche skip

291
00:13:39,600 --> 00:13:41,803
‫abbiamo limite anche, e quindi

292
00:13:43,170 --> 00:13:46,270
‫è davvero una specie di grande query.

293
00:13:46,270 --> 00:13:48,650
‫E ancora, ciò che ci consente ciò

294
00:13:48,650 --> 00:13:51,680
‫è che ciascuno di questi metodi qui restituirà sempre una

295
00:13:51,680 --> 00:13:54,610
‫nuova query che possiamo quindi concatenare al metodo successivo

296
00:13:54,610 --> 00:13:55,570
‫e al

297
00:13:55,570 --> 00:13:59,330
‫metodo successivo e al metodo successivo fino a quando non aspettiamo finalmente

298
00:13:59,330 --> 00:14:02,890
‫la query in modo che possa effettivamente darci i nostri documenti.

299
00:14:02,890 --> 00:14:06,110
‫Ok, quindi liberiamoci di tutti questi commenti e

300
00:14:06,110 --> 00:14:08,500
‫sì, per ora è tutto.

301
00:14:08,500 --> 00:14:10,850
‫Per queste funzionalità ne aggiungeremo solo un'altra

302
00:14:10,850 --> 00:14:12,220
‫nella prossima lezione,

303
00:14:12,220 --> 00:14:14,570
‫ma sarà un po' diversa da queste.

304
00:14:14,570 --> 00:14:18,090
‫Non utilizzerà uno di questi metodi di query, ok?

305
00:14:18,090 --> 00:14:20,470
‫Quindi spero che nelle ultime due lezioni

306
00:14:20,470 --> 00:14:22,230
‫tu abbia davvero imparato

307
00:14:22,230 --> 00:14:24,530
‫i dettagli dell'interrogazione dei dati con Mongoose.

308
00:14:24,530 --> 00:14:27,540
‫Quindi, ovviamente, tutti questi metodi che abbiamo usato non

309
00:14:27,540 --> 00:14:30,640
‫sono utili solo per queste funzionalità che abbiamo implementato qui.

310
00:14:30,640 --> 00:14:32,760
‫Puoi davvero creare tutti i tipi

311
00:14:32,760 --> 00:14:36,200
‫di query che puoi immaginare per tutti i tipi di applicazioni.

312
00:14:36,200 --> 00:14:38,890
‫Quindi ti ho mostrato tutte le tecniche qui

313
00:14:38,890 --> 00:14:41,090
‫in questo contesto di queste diverse funzionalità

314
00:14:41,090 --> 00:14:43,000
‫API, ma ovviamente sarai in

315
00:14:43,000 --> 00:14:46,520
‫grado di usarle su tutte le tue applicazioni in futuro, ok?

316
00:14:46,520 --> 00:14:48,780
‫Quindi spero che sia stato

317
00:14:48,780 --> 00:14:53,510
‫divertente per te e se lo è stato, allora passiamo subito al prossimo.

318
00:14:53,510 --> 00:14:54,343
‫Ci vediamo!

