﻿1
00:00:01,110 --> 00:00:03,330
‫Narator: Dalam video ini, kita

2
00:00:03,330 --> 00:00:06,180
‫akan berbicara tentang middleware Mongoose tipe kedua,

3
00:00:06,180 --> 00:00:08,133
‫yaitu query middleware.

4
00:00:09,690 --> 00:00:12,169
‫Dan, seperti namanya, query

5
00:00:12,169 --> 00:00:15,720
‫middleware memungkinkan kita untuk menjalankan fungsi sebelum

6
00:00:15,720 --> 00:00:18,360
‫atau setelah query tertentu dieksekusi.

7
00:00:18,360 --> 00:00:21,020
‫Jadi sekarang mari kita tambahkan

8
00:00:21,020 --> 00:00:23,730
‫hook pre-find, jadi pada dasarnya, middleware

9
00:00:23,730 --> 00:00:26,493
‫yang akan berjalan sebelum query find dieksekusi.

10
00:00:29,780 --> 00:00:31,740
‫Jadi mari kita tambahkan komentar lain di sini.

11
00:00:31,740 --> 00:00:35,283
‫Jadi ini adalah middleware kueri.

12
00:00:36,270 --> 00:00:38,760
‫Dan tentu saja, ini bekerja dengan cara yang sangat

13
00:00:38,760 --> 00:00:39,763
‫mirip seperti sebelumnya.

14
00:00:41,320 --> 00:00:43,950
‫Jadi tourSchema, dan kemudian pra, dan di sini

15
00:00:43,950 --> 00:00:46,280
‫kita mendefinisikan hook, yang akan menjadi

16
00:00:46,280 --> 00:00:47,557
‫"find. "

17
00:00:50,110 --> 00:00:52,900
‫Jadi, fungsi, dan sekali lagi, kami

18
00:00:52,900 --> 00:00:55,540
‫memiliki akses ke fungsi berikutnya.

19
00:00:55,540 --> 00:00:57,870
‫Dan sebenarnya, mari kita mulai dengan

20
00:00:57,870 --> 00:01:00,880
‫menyebutnya di sini di akhir agar kita tidak melupakannya.

21
00:01:00,880 --> 00:01:03,310
‫Oke, jadi Anda lihat, tampilannya

22
00:01:03,310 --> 00:01:05,680
‫persis seperti middleware lainnya,

23
00:01:05,680 --> 00:01:07,170
‫pre-hook lainnya.

24
00:01:07,170 --> 00:01:10,320
‫Satu-satunya perbedaan di sini adalah kait pencarian ini,

25
00:01:10,320 --> 00:01:12,360
‫yang akan membuat middleware kueri ini

26
00:01:12,360 --> 00:01:14,320
‫dan bukan middleware dokumen.

27
00:01:14,320 --> 00:01:15,153
‫Baiklah?

28
00:01:15,153 --> 00:01:17,040
‫Jadi, perbedaan besar di sini adalah

29
00:01:17,040 --> 00:01:20,910
‫bahwa kata kunci this sekarang akan mengarah pada kueri saat ini dan bukan

30
00:01:20,910 --> 00:01:22,700
‫pada dokumen saat ini, karena

31
00:01:22,700 --> 00:01:25,580
‫kami tidak benar-benar memproses dokumen apa pun di sini.

32
00:01:25,580 --> 00:01:28,370
‫Kami benar-benar akan memproses kueri.

33
00:01:28,370 --> 00:01:29,203
‫Oke?

34
00:01:29,203 --> 00:01:32,160
‫Dan kasus penggunaan yang akan kita lakukan di sini adalah ini.

35
00:01:32,160 --> 00:01:34,380
‫Jadi misalkan kita dapat memiliki

36
00:01:34,380 --> 00:01:36,670
‫tur rahasia di database kita, seperti

37
00:01:36,670 --> 00:01:39,760
‫untuk tur yang hanya ditawarkan secara internal, atau

38
00:01:39,760 --> 00:01:43,160
‫untuk sekelompok orang VIP yang sangat kecil, seperti, dan

39
00:01:43,160 --> 00:01:45,420
‫yang tidak boleh diketahui oleh publik.

40
00:01:45,420 --> 00:01:47,327
‫Sekarang, karena tur ini bersifat

41
00:01:47,327 --> 00:01:51,080
‫rahasia, kami tidak ingin tur rahasia tersebut muncul di

42
00:01:51,080 --> 00:01:52,510
‫output hasil.

43
00:01:52,510 --> 00:01:53,510
‫Benar?

44
00:01:53,510 --> 00:01:56,950
‫Jadi yang akan kita lakukan adalah membuat bidang

45
00:01:56,950 --> 00:02:00,780
‫tur rahasia dan kemudian hanya menanyakan tur yang tidak rahasia.

46
00:02:00,780 --> 00:02:01,690
‫Baiklah?

47
00:02:01,690 --> 00:02:02,763
‫Jadi, mari kita lakukan itu.

48
00:02:04,160 --> 00:02:07,103
‫Mulailah dengan menambahkan di sini, dan mari kita lakukan tepat di akhir.

49
00:02:11,447 --> 00:02:15,114
‫secretTour, jadi tipenya harus Boolean, dan saya pikir ini

50
00:02:16,560 --> 00:02:17,980
‫pertama kalinya

51
00:02:17,980 --> 00:02:19,710
‫kami benar-benar menggunakan Boolean,

52
00:02:19,710 --> 00:02:22,030
‫jadi ini bisa benar atau salah.

53
00:02:22,030 --> 00:02:23,852
‫Jadi jika itu benar,

54
00:02:23,852 --> 00:02:25,770
‫maka itu adalah tur rahasia, dan

55
00:02:25,770 --> 00:02:29,133
‫kami tidak ingin itu muncul, dan, secara default, itu salah.

56
00:02:30,570 --> 00:02:31,403
‫Baiklah?

57
00:02:31,403 --> 00:02:35,000
‫Jadi, pada dasarnya, biasanya wisata itu bukan rahasia.

58
00:02:35,000 --> 00:02:35,950
‫Oke.

59
00:02:35,950 --> 00:02:39,740
‫Selanjutnya, mari kita benar-benar melanjutkan dan membuat tur

60
00:02:40,900 --> 00:02:44,610
‫rahasia sehingga kita dapat menguji menggunakannya, oke?

61
00:02:44,610 --> 00:02:49,610
‫Jadi mari kita sebut ini di sini Tur Rahasia Super.

62
00:02:50,530 --> 00:02:51,880
‫Semua ini

63
00:02:54,130 --> 00:02:58,603
‫tidak masalah, dan izinkan saya mengatakan bahwa secretTour memang benar.

64
00:02:59,700 --> 00:03:01,020
‫Oke?

65
00:03:01,020 --> 00:03:02,443
‫Simpan disini...

66
00:03:03,480 --> 00:03:05,980
‫Dan, eh, di mana itu?

67
00:03:05,980 --> 00:03:08,520
‫Ya. Jadi secretTour benar.

68
00:03:08,520 --> 00:03:10,750
‫Dan sekarang mari kita benar-benar menuju ke

69
00:03:10,750 --> 00:03:13,783
‫Kompas dan menghapus semua tur lain yang kita miliki di sana.

70
00:03:15,600 --> 00:03:17,483
‫Jadi, mari kita muat ulang ini ...

71
00:03:18,890 --> 00:03:22,813
‫Dan kemudian, di bawah sini, kita harus...

72
00:03:24,470 --> 00:03:27,890
‫Ya, tur uji ini di sini, kita bisa menghapusnya.

73
00:03:27,890 --> 00:03:29,613
‫Tes tur lagi...

74
00:03:30,740 --> 00:03:32,540
‫Jadi semua kekacauan ini, pada

75
00:03:33,730 --> 00:03:35,530
‫dasarnya, kami ingin menyingkirkannya.

76
00:03:35,530 --> 00:03:37,600
‫Kami hanya menyimpan secretTour di

77
00:03:37,600 --> 00:03:40,010
‫sini sehingga sekarang kami dapat bereksperimen dengannya.

78
00:03:40,010 --> 00:03:43,170
‫Oke, dan Anda lihat di sini bahwa secretTour disetel ke

79
00:03:43,170 --> 00:03:44,530
‫true, sementara yang

80
00:03:44,530 --> 00:03:46,180
‫lain, tentu saja, tidak

81
00:03:46,180 --> 00:03:48,110
‫memiliki atribut ini, karena, pada saat

82
00:03:48,110 --> 00:03:49,993
‫kami membuatnya, kami belum memiliki secretTour.

83
00:03:51,780 --> 00:03:54,060
‫Jadi, sekarang, sebelum kita mulai,

84
00:03:54,060 --> 00:03:57,539
‫kembali ke Postman, mari kita pastikan bahwa, memang, tur

85
00:03:57,539 --> 00:04:01,230
‫terakhir di sini, dan sebenarnya ini bukan tur terakhir, jadi

86
00:04:01,230 --> 00:04:02,660
‫di mana itu?

87
00:04:02,660 --> 00:04:03,570
‫Oh, itu yang pertama.

88
00:04:03,570 --> 00:04:05,950
‫Jadi di sini kita memiliki Tur Rahasia Super,

89
00:04:05,950 --> 00:04:07,483
‫tentu saja, disetel menjadi kenyataan.

90
00:04:08,360 --> 00:04:12,010
‫Baiklah? Jadi, mundur sekarang, sekarang mari kita

91
00:04:12,010 --> 00:04:13,880
‫jalankan kueri seperti yang baru saja

92
00:04:13,880 --> 00:04:15,580
‫kita katakan di awal.

93
00:04:15,580 --> 00:04:18,350
‫Jadi, sekali lagi, perlu diingat bahwa ini

94
00:04:18,350 --> 00:04:20,780
‫sekarang adalah objek kueri, oke?

95
00:04:20,780 --> 00:04:23,230
‫Jadi kami dapat menghubungkan semua metode yang

96
00:04:23,230 --> 00:04:25,250
‫kami miliki untuk kueri.

97
00:04:25,250 --> 00:04:29,220
‫Jadi cukup tambahkan metode find di sini, dan

98
00:04:29,220 --> 00:04:31,260
‫kemudian pada dasarnya

99
00:04:31,260 --> 00:04:36,070
‫pilih semua dokumen di mana secretTour tidak benar, oke?

100
00:04:36,070 --> 00:04:40,540
‫Jadi secretTour ...

101
00:04:40,540 --> 00:04:43,530
‫Dan kemudian tidak sama dengan benar.

102
00:04:43,530 --> 00:04:45,710
‫Dan saya melakukannya seperti ini

103
00:04:45,710 --> 00:04:49,170
‫karena, ingat, editor saat ini tidak disetel ke false.

104
00:04:49,170 --> 00:04:51,120
‫Mereka tidak memiliki atribut ini.

105
00:04:52,090 --> 00:04:53,100
‫Baiklah?

106
00:04:53,100 --> 00:04:56,210
‫Oke, jadi mari kita uji sekarang lagi.

107
00:04:56,210 --> 00:04:58,263
‫Dan jadi sekarang harus hilang di sini.

108
00:04:59,220 --> 00:05:01,483
‫Dan memang, itu tidak lagi di sini.

109
00:05:02,320 --> 00:05:05,570
‫Oke, kami memiliki semua tur yang tidak rahasia,

110
00:05:05,570 --> 00:05:07,290
‫tetapi bukan tur rahasia.

111
00:05:07,290 --> 00:05:08,943
‫Dan sekarang saya melihat bahwa

112
00:05:08,943 --> 00:05:11,370
‫kita sebenarnya memiliki secretTour yang disetel ke

113
00:05:11,370 --> 00:05:13,850
‫false di sini, tapi itu benar-benar hanya

114
00:05:13,850 --> 00:05:17,913
‫masalah Mongoose, jadi mari kita lihat lagi di sini di Compass, dan

115
00:05:18,830 --> 00:05:19,753
‫muat ulang.

116
00:05:20,800 --> 00:05:22,920
‫Jadi Anda melihat bahwa, sebenarnya,

117
00:05:22,920 --> 00:05:25,450
‫dalam database, secretTour tidak disetel ke false.

118
00:05:25,450 --> 00:05:27,890
‫Luwak hanya menambahkan itu karena kami memilikinya di

119
00:05:27,890 --> 00:05:30,478
‫skema kami sebagai default, dan itu tidak ada di database.

120
00:05:30,478 --> 00:05:34,360
‫Jadi pada dasarnya, kemudian, meletakkannya di sana.

121
00:05:34,360 --> 00:05:37,150
‫Jadi Anda lihat bahwa kami sebenarnya memiliki

122
00:05:37,150 --> 00:05:40,710
‫11 dokumen, tetapi kemudian di Postman kami hanya mendapatkan sepuluh hasil.

123
00:05:40,710 --> 00:05:41,600
‫Dan itu,

124
00:05:41,600 --> 00:05:45,360
‫tentu saja, karena Tur Rahasia kami pada dasarnya disaring.

125
00:05:45,360 --> 00:05:46,193
‫Oke?

126
00:05:46,193 --> 00:05:47,910
‫Jadi, mari kita coba memahami lagi

127
00:05:47,910 --> 00:05:49,320
‫apa yang sebenarnya terjadi.

128
00:05:49,320 --> 00:05:51,730
‫Jadi segera setelah kita mencapai rute ini, di

129
00:05:51,730 --> 00:05:53,170
‫sini, dengan menggunakan metode

130
00:05:53,170 --> 00:05:55,313
‫get, mari kita lihat apa yang terjadi.

131
00:05:57,520 --> 00:06:00,340
‫Jadi, yang terjadi adalah kita membuat query

132
00:06:00,340 --> 00:06:02,700
‫menggunakan tour. Temukan.

133
00:06:02,700 --> 00:06:03,533
‫Oke?

134
00:06:03,533 --> 00:06:05,900
‫Dan kemudian, tentu saja, kami menghubungkan semua metode

135
00:06:05,900 --> 00:06:08,660
‫ini ke sana seperti yang kami bicarakan di salah

136
00:06:08,660 --> 00:06:09,790
‫satu kuliah terakhir,

137
00:06:09,790 --> 00:06:13,770
‫dan kemudian, pada akhirnya, kami kemudian menjalankan kueri itu di sini dengan menggunakan menunggu.

138
00:06:13,770 --> 00:06:15,280
‫Benar? Ingat bahwa?

139
00:06:15,280 --> 00:06:17,460
‫Jadi di sinilah kita mengeksekusi query.

140
00:06:17,460 --> 00:06:20,030
‫Tapi, sebelum benar-benar

141
00:06:20,030 --> 00:06:24,790
‫dieksekusi, maka, middleware pra-temukan kami di sini dieksekusi.

142
00:06:24,790 --> 00:06:25,623
‫Oke?

143
00:06:25,623 --> 00:06:27,873
‫Dan itu dieksekusi karena ditemukan,

144
00:06:27,873 --> 00:06:30,270
‫seperti yang kita gunakan di sini.

145
00:06:30,270 --> 00:06:31,103
‫Benar?

146
00:06:31,103 --> 00:06:33,020
‫Jadi, kami membuat kueri

147
00:06:33,020 --> 00:06:36,570
‫pencarian, dan oleh karena itu, kait pencarian kemudian dieksekusi.

148
00:06:36,570 --> 00:06:39,420
‫Kemudian, di sini, karena ini adalah middleware kueri,

149
00:06:39,420 --> 00:06:41,630
‫kata kunci this menunjuk ke kueri.

150
00:06:41,630 --> 00:06:43,670
‫Jadi, untuk kueri itu, kita

151
00:06:43,670 --> 00:06:46,230
‫kemudian dapat menghubungkan metode find lainnya, bukan?

152
00:06:46,230 --> 00:06:49,160
‫Dan di sana, kami kemudian memfilter secretTour

153
00:06:49,160 --> 00:06:50,930
‫menggunakan objek filter ini.

154
00:06:50,930 --> 00:06:51,763
‫Oke?

155
00:06:51,763 --> 00:06:54,280
‫Jadi pada dasarnya mengatakan bahwa kami hanya

156
00:06:54,280 --> 00:06:57,450
‫ingin tur di mana secretTour tidak sama dengan benar.

157
00:06:57,450 --> 00:06:59,120
‫Dan itu sebenarnya akan bekerja

158
00:06:59,120 --> 00:07:00,979
‫sama jika kita hanya mengatakan di

159
00:07:00,979 --> 00:07:03,790
‫sini, salah, tetapi saya merasa lebih bersih seperti ini.

160
00:07:03,790 --> 00:07:07,660
‫Oke, sekarang hanya ada satu hal yang perlu kita perbaiki,

161
00:07:07,660 --> 00:07:10,140
‫karena saat ini middleware ini

162
00:07:10,140 --> 00:07:13,010
‫berjalan untuk find, tetapi tidak untuk find1.

163
00:07:13,010 --> 00:07:13,843
‫Oke?

164
00:07:13,843 --> 00:07:17,023
‫Jadi izinkan saya menunjukkan kepada Anda masalah yang mungkin kita dapatkan dengan itu.

165
00:07:18,270 --> 00:07:23,120
‫Jadi, uh, mari kita ambil ID Tur Rahasia.

166
00:07:23,120 --> 00:07:24,570
‫Jadi kami memiliki

167
00:07:24,570 --> 00:07:29,570
‫Tur Rahasia di sini, dan itu adalah ID-nya, dan jika kami mendapatkan tur,

168
00:07:31,370 --> 00:07:35,040
‫maka itu akan memberi kami Tur Super Rahasia di sini.

169
00:07:35,040 --> 00:07:35,873
‫Benar?

170
00:07:35,873 --> 00:07:37,383
‫Jadi Anda lihat, bahwa

171
00:07:37,383 --> 00:07:39,470
‫filter yang baru saja kita buat

172
00:07:39,470 --> 00:07:41,630
‫di middleware tidak berfungsi untuk perintah ini.

173
00:07:41,630 --> 00:07:42,463
‫Oke?

174
00:07:42,463 --> 00:07:45,640
‫Dan itu karena fungsi pegangan untuk

175
00:07:45,640 --> 00:07:47,360
‫rute ini, seperti

176
00:07:47,360 --> 00:07:51,560
‫yang mungkin Anda ingat, menggunakan findByID, yang, di balik

177
00:07:51,560 --> 00:07:55,290
‫layar, adalah find1, sehingga berbeda dari find.

178
00:07:55,290 --> 00:07:56,242
‫Baiklah?

179
00:07:56,242 --> 00:08:01,242
‫Jadi, kita perlu menentukan middleware yang sama juga untuk find1.

180
00:08:01,750 --> 00:08:03,610
‫Sekarang, ada dua

181
00:08:03,610 --> 00:08:06,760
‫cara untuk melakukannya, dan yang pertama

182
00:08:06,760 --> 00:08:11,363
‫adalah melanjutkan, menyalin kode ini, lalu meletakkan find1 di sini.

183
00:08:12,210 --> 00:08:14,210
‫Tapi itu tidak terlalu bagus,

184
00:08:14,210 --> 00:08:16,970
‫jadi sebagai gantinya kita akan menggunakan ekspresi reguler.

185
00:08:16,970 --> 00:08:20,530
‫Dan itu cukup mudah, dan begitu ...

186
00:08:20,530 --> 00:08:22,700
‫Dan biarkan saya benar-benar menduplikasi

187
00:08:22,700 --> 00:08:24,013
‫ini di sini,

188
00:08:25,495 --> 00:08:28,360
‫mengomentari bagian ini, dan kemudian, ingat, ekspresi reguler

189
00:08:28,360 --> 00:08:30,550
‫dimulai dan diakhiri dengan garis miring.

190
00:08:30,550 --> 00:08:32,500
‫Dan kemudian di sini, yang ingin

191
00:08:32,500 --> 00:08:34,437
‫saya katakan, adalah bahwa

192
00:08:34,437 --> 00:08:36,510
‫middleware ini harus dijalankan tidak hanya

193
00:08:36,510 --> 00:08:40,450
‫untuk find, tetapi untuk semua perintah yang dimulai dengan nama find.

194
00:08:40,450 --> 00:08:41,283
‫Oke?

195
00:08:41,283 --> 00:08:45,330
‫Jadi, temukan, dan temukan1, dan juga temukan1 dan hapus, temukan1 dan

196
00:08:45,330 --> 00:08:46,830
‫perbarui, dan semua

197
00:08:46,830 --> 00:08:49,400
‫ini sekarang akan benar-benar memicu fungsi middleware

198
00:08:49,400 --> 00:08:51,550
‫yang kita miliki di sini.

199
00:08:52,760 --> 00:08:53,890
‫Baiklah?

200
00:08:53,890 --> 00:08:55,580
‫Jadi, tidak perlu untuk itu.

201
00:08:55,580 --> 00:08:58,510
‫Ekspresi reguler di sini jauh lebih baik.

202
00:08:58,510 --> 00:08:59,878
‫Jadi sekali lagi,

203
00:08:59,878 --> 00:09:03,000
‫ini di sini berarti semua string yang dimulai dengan find.

204
00:09:03,000 --> 00:09:05,140
‫Dan sebenarnya, karena kita di sini,

205
00:09:05,140 --> 00:09:07,883
‫izinkan saya menunjukkan kepada Anda dokumentasi Mongoose lagi.

206
00:09:08,970 --> 00:09:13,240
‫Jadi, ketika kita pergi ke sini, ke middleware dalam panduan ini, Anda akan

207
00:09:13,240 --> 00:09:15,670
‫memiliki gambaran umum tentang semua middleware.

208
00:09:15,670 --> 00:09:16,557
‫Misalnya,

209
00:09:16,557 --> 00:09:19,041
‫dokumen middleware adalah yang kita bicarakan

210
00:09:19,041 --> 00:09:21,640
‫sebelumnya, yang berjalan, misalnya, di save.

211
00:09:21,640 --> 00:09:23,600
‫Namun nyatanya, document middleware

212
00:09:23,600 --> 00:09:26,510
‫juga bisa dijalankan untuk hal-hal seperti remove.

213
00:09:26,510 --> 00:09:27,460
‫Baiklah?

214
00:09:27,460 --> 00:09:28,840
‫Atau untuk validasi.

215
00:09:28,840 --> 00:09:31,220
‫Oke, tapi saya tidak membicarakan ini

216
00:09:31,220 --> 00:09:34,750
‫karena biasanya yang selalu kita gunakan hanya untuk simpanan.

217
00:09:34,750 --> 00:09:37,590
‫Sekarang, middleware kueri dapat berjalan untuk semua

218
00:09:37,590 --> 00:09:39,340
‫fungsi kueri ini.

219
00:09:39,340 --> 00:09:41,980
‫Jadi temukan, seperti yang baru saja kita

220
00:09:41,980 --> 00:09:43,780
‫tentukan, dan sekarang, dengan ekspresi

221
00:09:43,780 --> 00:09:45,520
‫reguler kita, itu

222
00:09:45,520 --> 00:09:47,270
‫juga akan berjalan untuk find1,

223
00:09:48,768 --> 00:09:50,518
‫findOneAndDelete, findOneAndRemove, dan findOneAndUpdate.

224
00:09:51,850 --> 00:09:55,130
‫Bagaimanapun, kembali ke Postman sekarang,

225
00:09:55,130 --> 00:09:58,650
‫ini seharusnya memperbaiki situasi ini di sini.

226
00:09:58,650 --> 00:10:01,210
‫Jadi saat kita menjalankan kueri ini,

227
00:10:01,210 --> 00:10:03,040
‫seharusnya tidak ada hasil.

228
00:10:03,040 --> 00:10:04,800
‫Dan memang, tidak.

229
00:10:04,800 --> 00:10:08,220
‫Karena, ingat, kami mencoba mendapatkan secretTour.

230
00:10:08,220 --> 00:10:10,370
‫Jadi tur dengan ID ini di sini

231
00:10:10,370 --> 00:10:12,520
‫adalah rahasia, tetapi kami tidak pernah ingin

232
00:10:12,520 --> 00:10:14,380
‫secretTours muncul di kueri apa pun.

233
00:10:14,380 --> 00:10:17,283
‫Dan itulah mengapa, saat ini, kami mendapatkan hasil nol.

234
00:10:18,190 --> 00:10:19,023
‫Oke?

235
00:10:19,023 --> 00:10:20,510
‫Jadi itu berhasil sekarang.

236
00:10:20,510 --> 00:10:22,160
‫Jangan simpan ini,

237
00:10:22,160 --> 00:10:24,230
‫dan sekarang, kembali ke kode kita.

238
00:10:24,230 --> 00:10:25,900
‫Mari sekarang sebenarnya

239
00:10:25,900 --> 00:10:28,333
‫juga menentukan middleware pos untuk find.

240
00:10:30,140 --> 00:10:35,140
‫Jadi, tourSchema, dan kemudian, seperti sebelumnya, posting, lalu mari kita gunakan ekspresi

241
00:10:35,820 --> 00:10:38,510
‫reguler kita di sini lagi untuk apa

242
00:10:38,510 --> 00:10:41,113
‫pun yang dimulai dengan find.

243
00:10:43,340 --> 00:10:45,240
‫Dan kemudian hanya fungsi

244
00:10:45,240 --> 00:10:47,400
‫biasa, dan kemudian di sini, di middleware

245
00:10:47,400 --> 00:10:49,810
‫pasca-penemuan, kami benar-benar mendapatkan akses ke semua

246
00:10:49,810 --> 00:10:51,713
‫dokumen yang kami kembalikan dari kueri.

247
00:10:52,680 --> 00:10:54,573
‫Jadi sebut saja itu Docs.

248
00:10:55,680 --> 00:10:56,780
‫Baiklah?

249
00:10:56,780 --> 00:10:59,350
‫Jadi, ingat bahwa middleware ini

250
00:10:59,350 --> 00:11:02,280
‫akan berjalan setelah kueri telah dieksekusi.

251
00:11:02,280 --> 00:11:04,100
‫Jadi, oleh karena itu, ia

252
00:11:04,100 --> 00:11:06,120
‫dapat memiliki akses ke dokumen yang dikembalikan.

253
00:11:06,120 --> 00:11:07,900
‫Sekali lagi, karena kueri itu

254
00:11:07,900 --> 00:11:10,033
‫sebenarnya sudah selesai pada saat ini.

255
00:11:11,580 --> 00:11:15,510
‫Jadi mari kita log dokumen-dokumen ini ke konsol, jadi

256
00:11:15,510 --> 00:11:16,343
‫docs,

257
00:11:16,343 --> 00:11:20,360
‫tapi saya juga ingin melakukan sesuatu yang lain di sini.

258
00:11:20,360 --> 00:11:22,710
‫Jadi pada dasarnya, mari kita buat, semacam,

259
00:11:22,710 --> 00:11:25,150
‫jam untuk mengukur berapa lama waktu yang dibutuhkan

260
00:11:25,150 --> 00:11:27,163
‫untuk mengeksekusi kueri saat ini.

261
00:11:28,120 --> 00:11:28,953
‫Baiklah?

262
00:11:28,953 --> 00:11:30,770
‫Jadi, bagaimana kita akan melakukannya?

263
00:11:30,770 --> 00:11:32,680
‫Yah, cukup sederhana.

264
00:11:32,680 --> 00:11:36,180
‫Kita cukup mengatur properti ke objek ini,

265
00:11:36,180 --> 00:11:39,810
‫karena objek kueri ini sebenarnya hanyalah objek biasa.

266
00:11:39,810 --> 00:11:42,570
‫Tentu saja ia memiliki akses ke semua metode ini,

267
00:11:42,570 --> 00:11:43,760
‫seperti find, tetapi

268
00:11:43,760 --> 00:11:45,020
‫kita juga dapat menggunakannya

269
00:11:45,020 --> 00:11:47,283
‫untuk mengatur properti apa pun yang kita inginkan.

270
00:11:48,660 --> 00:11:51,000
‫Jadi, sekali lagi, hanya objek biasa.

271
00:11:51,000 --> 00:11:53,410
‫Dan di sini kita dapat mengatakan ini. mulai

272
00:11:53,410 --> 00:11:55,333
‫harus tanggal saat ini.

273
00:11:56,410 --> 00:11:57,243
‫Oke?

274
00:11:57,243 --> 00:11:59,380
‫Jadi ini akan mengaturnya

275
00:11:59,380 --> 00:12:02,150
‫sebagai waktu saat ini dalam milidetik, oke?

276
00:12:02,150 --> 00:12:05,320
‫Jadi, di sini, di middleware pos, yang akan

277
00:12:05,320 --> 00:12:08,200
‫dijalankan setelah kueri dieksekusi, kita dapat

278
00:12:08,200 --> 00:12:10,310
‫mengurangi waktu saat ini dikurangi

279
00:12:10,310 --> 00:12:11,603
‫waktu mulai.

280
00:12:14,640 --> 00:12:15,833
‫Jadi konsol. log, permintaan

281
00:12:18,470 --> 00:12:19,583
‫mengambil, dan sekarang

282
00:12:21,240 --> 00:12:22,600
‫tanggal saat ini dikurangi

283
00:12:26,970 --> 00:12:28,073
‫ini.

284
00:12:33,400 --> 00:12:34,423
‫mulai, milidetik.

285
00:12:35,510 --> 00:12:38,295
‫Oke, mari kita simpan, jadi

286
00:12:38,295 --> 00:12:43,295
‫sekarang mari kita coba menjalankan kueri dan melihat hasilnya.

287
00:12:45,090 --> 00:12:46,469
‫Oke?

288
00:12:46,469 --> 00:12:48,390
‫Jadi, di sini kita mendapatkan semua tur kita,

289
00:12:48,390 --> 00:12:49,713
‫di sini kita memiliki

290
00:12:50,700 --> 00:12:52,140
‫konsol, dan mari kita perjelas itu.

291
00:12:52,140 --> 00:12:53,740
‫Ada banyak barang di sana.

292
00:12:55,540 --> 00:12:56,763
‫Minta lagi,

293
00:12:58,340 --> 00:13:00,480
‫dan inilah semua hasilnya.

294
00:13:00,480 --> 00:13:03,210
‫Jadi pada dasarnya ini adalah semua tur yang ditemukan,

295
00:13:03,210 --> 00:13:06,490
‫dan itulah hasil dari konsol. log dokumen.

296
00:13:06,490 --> 00:13:09,890
‫Jadi pada dasarnya dokumen yang cocok dengan query.

297
00:13:09,890 --> 00:13:13,220
‫Tapi saya sekarang tertarik dengan konsol pertama ini. log, dan jadi,

298
00:13:13,220 --> 00:13:17,670
‫di sini kita melihat "Kueri membutuhkan waktu 120 milidetik," dan pada

299
00:13:17,670 --> 00:13:19,970
‫dasarnya itu adalah waktu yang

300
00:13:19,970 --> 00:13:22,660
‫berlalu dari awal, di mana kita

301
00:13:22,660 --> 00:13:26,950
‫mendefinisikan ini, hingga setelah kueri dieksekusi, pada titik waktu ini.

302
00:13:26,950 --> 00:13:27,783
‫Baiklah.

303
00:13:27,783 --> 00:13:29,910
‫Dan hanya itu yang harus saya tunjukkan

304
00:13:29,910 --> 00:13:31,550
‫kepada Anda untuk saat ini

305
00:13:31,550 --> 00:13:32,680
‫tentang query middleware, dan

306
00:13:32,680 --> 00:13:34,370
‫seperti sebelumnya, tentu saja kita

307
00:13:34,370 --> 00:13:35,380
‫akan sering

308
00:13:35,380 --> 00:13:37,450
‫menggunakan ini di sepanjang kursus, karena, seperti

309
00:13:37,450 --> 00:13:39,840
‫yang saya sebutkan di awal, middleware benar-benar merupakan

310
00:13:39,840 --> 00:13:42,010
‫konsep dasar itu sangat penting untuk banyak

311
00:13:42,010 --> 00:13:44,060
‫hal yang kita butuhkan dalam aplikasi kita.

312
00:13:44,060 --> 00:13:46,140
‫Jadi kita hampir selesai berbicara tentang middleware.

313
00:13:46,140 --> 00:13:48,070
‫Selanjutnya adalah yang terakhir,

314
00:13:48,070 --> 00:13:49,823
‫yaitu agregasi middleware.

