﻿1
00:00:01,210 --> 00:00:03,670
‫Pembicara: Sekarang mari kita terus bekerja pada API kita.

2
00:00:04,530 --> 00:00:06,620
‫Di video berikutnya, kami

3
00:00:06,620 --> 00:00:08,840
‫akan menerapkan beberapa fitur API

4
00:00:08,840 --> 00:00:12,440
‫umum yang membuat API lebih mudah dan menyenangkan digunakan

5
00:00:12,440 --> 00:00:14,950
‫oleh siapa pun yang akan menggunakannya.

6
00:00:14,950 --> 00:00:15,940
‫Dan dalam

7
00:00:15,940 --> 00:00:17,963
‫kuliah ini, kita akan mulai dengan penyaringan.

8
00:00:19,340 --> 00:00:22,830
‫Jadi sekali lagi, fitur pertama yang akan kita

9
00:00:22,830 --> 00:00:26,000
‫terapkan adalah mengizinkan pengguna untuk memfilter data

10
00:00:26,000 --> 00:00:27,563
‫menggunakan string kueri.

11
00:00:28,890 --> 00:00:32,233
‫Biarkan saya memberi tahu Anda apa yang digunakan string kueri Postman.

12
00:00:36,610 --> 00:00:39,993
‫Jadi, mari kita tutup semua ini.

13
00:00:46,150 --> 00:00:47,683
‫Baik.

14
00:00:47,683 --> 00:00:50,350
‫Sebenarnya di mana pemfilteran akan masuk akal ada di

15
00:00:50,350 --> 00:00:52,793
‫sini di rute dapatkan semua tur ini.

16
00:00:53,750 --> 00:00:55,940
‫Karena, inilah yang,

17
00:00:55,940 --> 00:00:58,720
‫seperti namanya, mendapatkan semua tur.

18
00:00:58,720 --> 00:01:02,370
‫Jadi di sini, kami ingin mengizinkan pengguna untuk memfilter

19
00:01:02,370 --> 00:01:04,840
‫data, sehingga alih-alih mendapatkan semua data,

20
00:01:04,840 --> 00:01:08,123
‫dia hanya mendapatkan data yang cocok dengan filter.

21
00:01:09,340 --> 00:01:12,290
‫Seperti ini, kami pada dasarnya dapat mengizinkan pengguna untuk

22
00:01:12,290 --> 00:01:14,750
‫menanyakan data dengan cara yang sangat mudah.

23
00:01:14,750 --> 00:01:16,480
‫Sekali lagi, menggunakan string kueri.

24
00:01:16,480 --> 00:01:18,850
‫Dan string kueri terlihat seperti ini.

25
00:01:18,850 --> 00:01:20,340
‫Dan saya yakin Anda pernah melihatnya.

26
00:01:20,340 --> 00:01:23,120
‫Jadi kita mulai dengan tanda tanya,

27
00:01:23,120 --> 00:01:26,663
‫dan kemudian kita cukup menentukan beberapa pasangan nilai bidang.

28
00:01:28,420 --> 00:01:30,360
‫Jadi katakanlah kita

29
00:01:30,360 --> 00:01:33,620
‫ingin memfilter untuk durasi yang sama dengan lima

30
00:01:33,620 --> 00:01:36,573
‫dan pada saat yang sama, kesulitan mudah.

31
00:01:40,500 --> 00:01:44,690
‫Jadi kita bisa dengan mudah membuat string kueri seperti ini.

32
00:01:44,690 --> 00:01:46,860
‫Jadi sekali lagi, ini dimulai dengan tanda

33
00:01:46,860 --> 00:01:48,800
‫tanya ini, dan kemudian kita

34
00:01:48,800 --> 00:01:51,723
‫dapat menentukan sebanyak mungkin pasangan nilai kunci menggunakan format ini.

35
00:01:53,000 --> 00:01:54,860
‫Dan sekarang aplikasi Postman

36
00:01:54,860 --> 00:01:57,450
‫kami di sini benar-benar mengenali ini dan

37
00:01:57,450 --> 00:02:00,420
‫pada dasarnya mem-parsing string ini di sini dan

38
00:02:00,420 --> 00:02:04,140
‫meletakkan kunci dan nilainya di sini di tab Params ini.

39
00:02:04,140 --> 00:02:06,963
‫Jadi kita juga bisa menentukan kunci dan nilai di sini.

40
00:02:07,890 --> 00:02:11,110
‫Jadi katakanlah uji, setel ke dua puluh tiga, dan Anda

41
00:02:11,110 --> 00:02:12,690
‫lihat di sini bahwa

42
00:02:12,690 --> 00:02:14,483
‫itu benar-benar menambahkannya ke string kueri.

43
00:02:15,370 --> 00:02:18,740
‫Jadi itu cara yang sangat bagus dari Postman membantu kami di sini.

44
00:02:18,740 --> 00:02:21,150
‫Karena sekarang kami dapat, misalnya, saat kami

45
00:02:21,150 --> 00:02:24,260
‫melakukan pengujian, kami dapat mengaktifkan dan menonaktifkannya dan Anda melihat

46
00:02:24,260 --> 00:02:25,610
‫bahwa string kueri

47
00:02:25,610 --> 00:02:27,573
‫di sini bereaksi sesuai dengan itu.

48
00:02:28,970 --> 00:02:32,940
‫Bagaimanapun, kita sekarang membutuhkan cara untuk mengakses data ini yang ada

49
00:02:32,940 --> 00:02:35,883
‫dalam string kueri, dalam aplikasi Express kita.

50
00:02:36,730 --> 00:02:39,210
‫Tapi, untungnya bagi kami,

51
00:02:39,210 --> 00:02:42,260
‫itu sangat mudah, karena Express sudah mengurusnya.

52
00:02:42,260 --> 00:02:44,690
‫Jadi itu hanyalah salah satu dari

53
00:02:44,690 --> 00:02:48,420
‫banyak hal yang dilakukan Express untuk kami agar pengembangan

54
00:02:48,420 --> 00:02:50,563
‫NodeJS benar-benar lebih cepat.

55
00:02:52,420 --> 00:02:55,170
‫Jadi izinkan saya menunjukkannya kepada Anda di sini, sebenarnya di konsol.

56
00:02:57,810 --> 00:03:01,380
‫Jadi data ini berdasarkan permintaan, yang masuk akal, dan kemudian

57
00:03:01,380 --> 00:03:04,013
‫ada di bidang yang disebut kueri.

58
00:03:04,980 --> 00:03:07,490
‫Jadi permintaan dot query kemudian harus memberi

59
00:03:07,490 --> 00:03:10,630
‫kita objek yang diformat dengan baik dengan data dari

60
00:03:10,630 --> 00:03:11,730
‫string kueri.

61
00:03:12,760 --> 00:03:13,593
‫Berikan simpanan.

62
00:03:14,530 --> 00:03:16,630
‫Dan perhatikan, bagaimana saya

63
00:03:16,630 --> 00:03:20,150
‫sebenarnya menambahkannya ke fungsi get all tours handler.

64
00:03:20,150 --> 00:03:22,800
‫Jadi sekali lagi, kami melakukan penyaringan semacam ini di

65
00:03:22,800 --> 00:03:25,323
‫rute di mana kami ingin mendapatkan semua tur.

66
00:03:27,140 --> 00:03:30,373
‫Mari kita uji sekarang dengan string kueri yang tepat ini.

67
00:03:31,400 --> 00:03:32,920
‫Mengirim permintaan.

68
00:03:32,920 --> 00:03:36,333
‫Dan kembali, di sini kita mendapatkan objeknya.

69
00:03:37,170 --> 00:03:40,420
‫Mari kita membuat ini di sini lebih besar sehingga

70
00:03:40,420 --> 00:03:41,720
‫Anda dapat melihat.

71
00:03:41,720 --> 00:03:43,650
‫Itu tidak benar-benar bekerja.

72
00:03:43,650 --> 00:03:45,820
‫Jadi terkadang saya tahu beberapa orang tidak

73
00:03:45,820 --> 00:03:47,630
‫dapat melihat bagian bawah layar.

74
00:03:47,630 --> 00:03:49,080
‫Biarkan saya melakukannya lagi di sini.

75
00:03:51,280 --> 00:03:52,942
‫Jadi, ini dia.

76
00:03:52,942 --> 00:03:55,990
‫Kami memiliki objek, yang memiliki durasi diatur ke lima

77
00:03:55,990 --> 00:03:58,200
‫dan kesulitan diatur ke mudah.

78
00:03:58,200 --> 00:04:00,460
‫Jadi Anda melihat bahwa Express, dengan

79
00:04:00,460 --> 00:04:04,250
‫sangat baik, menguraikan string itu menjadi objek ini, yang mudah digunakan.

80
00:04:04,250 --> 00:04:06,330
‫Sekarang satu hal yang saya perhatikan di sini

81
00:04:06,330 --> 00:04:08,380
‫adalah bahwa kita sebenarnya kehilangan log yang

82
00:04:08,380 --> 00:04:10,440
‫lebih mudah kita dapatkan di sini di konsol.

83
00:04:10,440 --> 00:04:12,540
‫Mari kita lihat mengapa itu terjadi.

84
00:04:15,431 --> 00:04:18,430
‫Jadi untuk beberapa alasan, kita sekarang memiliki aplikasi

85
00:04:18,430 --> 00:04:21,310
‫sebelum kita benar-benar membaca variabel lingkungan.

86
00:04:21,310 --> 00:04:24,113
‫Dengan begitu, aplikasi tidak mendapatkan akses ke sana.

87
00:04:25,010 --> 00:04:27,600
‫Saya pikir saya telah memperbaiki ini sebelumnya, tetapi

88
00:04:27,600 --> 00:04:29,300
‫untuk beberapa alasan sekarang kembali.

89
00:04:30,340 --> 00:04:32,390
‫Berikan simpanan lain di sini.

90
00:04:32,390 --> 00:04:33,690
‫Dan saya akan mencobanya lagi.

91
00:04:36,180 --> 00:04:38,933
‫Sekarang kita mendapatkan logging kita kembali.

92
00:04:40,200 --> 00:04:43,750
‫Dapatkan permintaan ke URL ini dan kemudian dengan sisa

93
00:04:43,750 --> 00:04:45,963
‫data ini di sini.

94
00:04:48,260 --> 00:04:50,600
‫Bagaimanapun, sekarang mari kita benar-benar

95
00:04:50,600 --> 00:04:53,200
‫menggunakan data itu untuk mengimplementasikan pemfilteran kita.

96
00:04:53,200 --> 00:04:55,840
‫Tetapi sebelum kita bisa melakukannya, saya perlu memberi tahu

97
00:04:55,840 --> 00:04:58,440
‫Anda bahwa di Mongoose, sebenarnya ada dua cara

98
00:04:58,440 --> 00:05:00,120
‫untuk menulis kueri basis data.

99
00:05:00,120 --> 00:05:03,050
‫Yang pertama adalah hanya menggunakan objek

100
00:05:03,050 --> 00:05:06,490
‫filter seperti yang kita lakukan di bagian pengenalan MongoDB.

101
00:05:06,490 --> 00:05:08,690
‫Benar? Ingat bahwa?

102
00:05:08,690 --> 00:05:12,333
‫Cara kedua adalah dengan menggunakan beberapa metode khusus luwak.

103
00:05:13,590 --> 00:05:16,505
‫Biarkan saya, sangat cepat, menunjukkan itu kepada Anda.

104
00:05:16,505 --> 00:05:19,420
‫Dengan objek filter, kita akan melakukannya seperti ini.

105
00:05:19,420 --> 00:05:21,910
‫Kita mulai dengan find di sini, dan kemudian di

106
00:05:21,910 --> 00:05:23,570
‫sana kita bisa melewatkan objek filter.

107
00:05:23,570 --> 00:05:25,900
‫Dan itu sudah saya sebutkan sebelumnya.

108
00:05:25,900 --> 00:05:28,410
‫Sekali lagi, ini bekerja dengan cara yang

109
00:05:28,410 --> 00:05:30,650
‫sama persis dengan kueri MongoDB normal.

110
00:05:30,650 --> 00:05:33,160
‫Kita sekarang bisa mengatakan, durasi mengaturnya

111
00:05:34,570 --> 00:05:35,657
‫menjadi lima.

112
00:05:35,657 --> 00:05:36,663
‫Dan

113
00:05:39,320 --> 00:05:42,253
‫kemudian, kesulitan, atur menjadi mudah.

114
00:05:44,300 --> 00:05:47,150
‫Itu persis string kueri yang kami miliki sebelumnya, dan sekarang

115
00:05:47,150 --> 00:05:48,960
‫saya sulit mengkodekannya di sini hanya

116
00:05:48,960 --> 00:05:50,860
‫untuk menunjukkan kepada Anda dua cara berbeda

117
00:05:50,860 --> 00:05:52,423
‫dalam menulis kueri di Mongoose.

118
00:05:53,318 --> 00:05:54,518
‫Mari kita uji yang satu ini.

119
00:05:58,220 --> 00:06:00,453
‫Anda lihat bahwa sekarang, kami hanya mendapatkan dua hasil.

120
00:06:01,290 --> 00:06:03,193
‫Mari beri diri kita ruang di sini.

121
00:06:04,810 --> 00:06:05,760
‫Baik.

122
00:06:05,760 --> 00:06:08,870
‫Kita lihat dua hasil dan memang

123
00:06:08,870 --> 00:06:10,890
‫keduanya memiliki durasi

124
00:06:10,890 --> 00:06:15,890
‫lima, jadi di sini dan di sini, dan keduanya mudah.

125
00:06:15,930 --> 00:06:17,443
‫Mudah dan mudah.

126
00:06:18,350 --> 00:06:20,563
‫Jadi filter kami bekerja dengan baik.

127
00:06:21,675 --> 00:06:24,710
‫Itu adalah cara pertama menulis kueri.

128
00:06:24,710 --> 00:06:27,650
‫Cara biasa yang sudah biasa kita lakukan, tapi

129
00:06:27,650 --> 00:06:29,103
‫ada cara lain.

130
00:06:30,790 --> 00:06:32,993
‫Biarkan saya menunjukkan itu kepada Anda juga.

131
00:06:37,570 --> 00:06:39,910
‫Sekali lagi, kita memulai dengan cara yang sama

132
00:06:39,910 --> 00:06:41,690
‫persis, tetapi kemudian perbedaannya adalah

133
00:06:41,690 --> 00:06:44,150
‫kita mulai merangkai beberapa metode Mongoose khusus untuk

134
00:06:44,150 --> 00:06:47,523
‫pada dasarnya membangun kueri yang mirip dengan yang kita miliki ini.

135
00:06:49,540 --> 00:06:50,563
‫Jadi kita

136
00:06:51,730 --> 00:06:52,563
‫katakan,

137
00:06:54,910 --> 00:06:55,780
‫di mana

138
00:06:58,840 --> 00:07:00,343
‫durasinya sama dengan lima.

139
00:07:01,810 --> 00:07:03,630
‫Kemudian juga, dimana

140
00:07:04,710 --> 00:07:06,180
‫kesulitan yang harus

141
00:07:06,180 --> 00:07:08,023
‫di tandai sama

142
00:07:11,420 --> 00:07:12,253
‫dengan

143
00:07:13,170 --> 00:07:14,003
‫mudah.

144
00:07:17,270 --> 00:07:19,620
‫Permintaan ini di sini akan sama

145
00:07:19,620 --> 00:07:22,500
‫persis dengan yang ini, tetapi sekali lagi,

146
00:07:22,500 --> 00:07:24,740
‫ditulis menggunakan metode Mongoose khusus.

147
00:07:24,740 --> 00:07:27,240
‫Dan tentu saja ada banyak metode lainnya.

148
00:07:27,240 --> 00:07:30,980
‫Misalnya, alih-alih sama dengan, kita dapat memiliki kurang dari, atau

149
00:07:30,980 --> 00:07:34,060
‫sama, atau hanya kurang dari, atau Anda

150
00:07:34,060 --> 00:07:37,520
‫juga dapat mengurutkan hasil atau membatasi jumlah hasil, dan

151
00:07:37,520 --> 00:07:39,020
‫segala macam hal.

152
00:07:41,057 --> 00:07:43,180
‫Yang pasti, kita akan menggunakan beberapa di

153
00:07:43,180 --> 00:07:44,743
‫antaranya dalam beberapa video berikutnya.

154
00:07:46,050 --> 00:07:48,290
‫Ini mungkin terlihat agak aneh bagi

155
00:07:48,290 --> 00:07:51,303
‫Anda, tetapi sebenarnya ini sangat, sangat berguna dalam beberapa kasus.

156
00:07:52,530 --> 00:07:55,573
‫Hanya untuk menguji, coba lagi untuk yang ini.

157
00:07:57,010 --> 00:07:59,953
‫Dan memang kami mendapatkan dua hasil yang sama.

158
00:08:02,735 --> 00:08:04,590
‫Sekarang, izinkan saya mengomentari yang satu ini di sini.

159
00:08:04,590 --> 00:08:06,950
‫Saya akan meninggalkannya di sini hanya sebagai

160
00:08:06,950 --> 00:08:10,300
‫referensi, karena sekarang, kita akan menggunakan metode ini di sini.

161
00:08:10,300 --> 00:08:12,400
‫Dan kita akan menggunakannya, karena

162
00:08:12,400 --> 00:08:15,000
‫sebenarnya, kita sebenarnya sudah memiliki objek yang

163
00:08:15,000 --> 00:08:16,363
‫terlihat seperti ini.

164
00:08:17,360 --> 00:08:20,300
‫Dan itu adalah permintaan titik permintaan.

165
00:08:20,300 --> 00:08:22,193
‫Jika Anda membandingkannya, objek ini, dengan

166
00:08:23,228 --> 00:08:25,128
‫objek yang Anda lihat di bawah ini,

167
00:08:26,280 --> 00:08:28,173
‫terlihat persis sama dengan yang ini.

168
00:08:30,120 --> 00:08:32,130
‫Untuk menerapkan filter yang

169
00:08:32,130 --> 00:08:37,130
‫sangat sederhana, yang harus kita lakukan dalam hal ini adalah, req dot query.

170
00:08:37,150 --> 00:08:38,793
‫Mari kita coba itu sekali lagi.

171
00:08:39,730 --> 00:08:40,803
‫Singkirkan ini di sini.

172
00:08:42,650 --> 00:08:46,300
‫Dan memang kita mendapatkan dua hasil yang sama persis.

173
00:08:46,300 --> 00:08:50,223
‫Sekarang mari kita coba saja dengan kesulitan diatur ke mudah.

174
00:08:52,140 --> 00:08:53,993
‫Sekarang kita mendapatkan empat hasil.

175
00:08:55,280 --> 00:08:56,700
‫Semuanya tentu akan memiliki

176
00:08:56,700 --> 00:08:58,463
‫kesulitan yang diatur menjadi mudah.

177
00:09:00,540 --> 00:09:03,100
‫Filter kami, filter paling dasar kami,

178
00:09:03,100 --> 00:09:04,880
‫sekarang benar-benar berfungsi.

179
00:09:04,880 --> 00:09:06,870
‫Sekarang, masalah dengan

180
00:09:06,870 --> 00:09:09,650
‫implementasi ini, sebenarnya terlalu sederhana.

181
00:09:09,650 --> 00:09:11,690
‫Itu karena, nanti, kita akan

182
00:09:11,690 --> 00:09:13,370
‫memiliki parameter kueri lainnya.

183
00:09:13,370 --> 00:09:16,730
‫Misalnya, sortir, untuk fungsi pengurutan, atau

184
00:09:16,730 --> 00:09:18,653
‫halaman, untuk pagination.

185
00:09:19,610 --> 00:09:21,040
‫Kita perlu memastikan

186
00:09:21,040 --> 00:09:24,180
‫bahwa kita tidak menanyakan ini di database kita.

187
00:09:24,180 --> 00:09:25,883
‫Misalnya, jika kita menambahkan

188
00:09:27,360 --> 00:09:29,893
‫di sini, halaman, sama dengan dua, maka

189
00:09:30,970 --> 00:09:33,993
‫kita tentu saja tidak akan mendapatkan hasil apa pun.

190
00:09:35,130 --> 00:09:36,300
‫Biarkan saya menunjukkan itu kepada Anda.

191
00:09:36,300 --> 00:09:38,280
‫Dan memang kami tidak mendapatkan hasil

192
00:09:38,280 --> 00:09:40,560
‫apa pun, karena tidak ada dokumen di koleksi

193
00:09:40,560 --> 00:09:42,593
‫ini di mana halaman diatur ke dua.

194
00:09:43,480 --> 00:09:46,200
‫Kami hanya ingin menggunakan parameter ini di sini,

195
00:09:46,200 --> 00:09:49,170
‫atau bidang ini, halaman, untuk menerapkan pagination dan bukan

196
00:09:49,170 --> 00:09:51,593
‫untuk benar-benar melakukan kueri dalam database.

197
00:09:53,450 --> 00:09:54,870
‫Jadi yang harus

198
00:09:54,870 --> 00:09:57,810
‫kita lakukan adalah, pada dasarnya mengecualikan nama bidang khusus

199
00:09:57,810 --> 00:10:00,883
‫ini dari string kueri kita sebelum kita benar-benar melakukan pemfilteran.

200
00:10:02,680 --> 00:10:05,540
‫Sekarang mari kita lanjutkan dan terapkan itu.

201
00:10:05,540 --> 00:10:08,200
‫Apa yang akan kita lakukan

202
00:10:08,200 --> 00:10:12,333
‫adalah, pertama, membuat salinan dangkal dari objek permintaan titik permintaan.

203
00:10:15,690 --> 00:10:17,670
‫Sebut saja objek kueri.

204
00:10:17,670 --> 00:10:20,030
‫Di sini kita perlu, sungguh, hard copy.

205
00:10:20,030 --> 00:10:23,560
‫Kami tidak bisa hanya melakukan, permintaan dot query, karena

206
00:10:23,560 --> 00:10:25,570
‫kemudian, jika Anda akan

207
00:10:25,570 --> 00:10:28,030
‫menghapus sesuatu dari objek ini, kami juga

208
00:10:28,030 --> 00:10:30,700
‫akan menghapusnya dari objek permintaan dot query.

209
00:10:30,700 --> 00:10:32,170
‫Dan itu karena

210
00:10:32,170 --> 00:10:35,260
‫dalam JavaScript, ketika kita menetapkan variabel ke objek lain,

211
00:10:35,260 --> 00:10:37,490
‫variabel baru itu pada dasarnya hanya akan

212
00:10:37,490 --> 00:10:39,683
‫menjadi referensi ke objek asli itu.

213
00:10:41,030 --> 00:10:43,770
‫Jadi kami sangat membutuhkan hard copy di sini.

214
00:10:43,770 --> 00:10:46,310
‫Dalam JavaScript, sebenarnya tidak ada cara bawaan

215
00:10:46,310 --> 00:10:49,020
‫untuk melakukan ini, tetapi trik yang sangat bagus

216
00:10:49,020 --> 00:10:53,520
‫yang dapat kita gunakan, karena ES6, adalah dengan menggunakan, pertama, penataan yang kita

217
00:10:53,520 --> 00:10:55,960
‫gunakan dengan menggunakan dot dot dot.

218
00:10:55,960 --> 00:10:58,270
‫Dan kemudian kita cukup membuat objek

219
00:10:58,270 --> 00:10:59,663
‫baru dari itu.

220
00:11:01,290 --> 00:11:02,123
‫Seperti ini.

221
00:11:03,260 --> 00:11:05,420
‫Penataan di sini, tiga titik

222
00:11:05,420 --> 00:11:08,683
‫ini, pada dasarnya akan mengeluarkan semua bidang dari objek.

223
00:11:09,860 --> 00:11:11,810
‫Di sini dengan kurung

224
00:11:11,810 --> 00:11:13,990
‫kurawal, kita cukup membuat objek baru.

225
00:11:13,990 --> 00:11:15,940
‫Jadi kami memiliki objek baru

226
00:11:15,940 --> 00:11:18,070
‫yang pada dasarnya akan berisi semua pasangan

227
00:11:18,070 --> 00:11:21,053
‫nilai kunci yang ada di objek kueri req dot kami.

228
00:11:23,020 --> 00:11:24,330
‫Jadi itu salinan.

229
00:11:24,330 --> 00:11:26,450
‫Sekarang mari kita buat sebuah array

230
00:11:26,450 --> 00:11:28,633
‫dari semua field yang ingin kita kecualikan.

231
00:11:31,610 --> 00:11:34,040
‫Saya menyebut bidang yang dikecualikan itu.

232
00:11:34,040 --> 00:11:37,090
‫Dan kemudian kami ingin mengecualikan halaman, jadi itu

233
00:11:37,090 --> 00:11:38,400
‫yang baru saja

234
00:11:38,400 --> 00:11:40,250
‫saya katakan sebelumnya di Postman.

235
00:11:40,250 --> 00:11:42,150
‫Kemudian, kami juga ingin

236
00:11:43,170 --> 00:11:44,440
‫mengecualikan pengurutan,

237
00:11:44,440 --> 00:11:46,053
‫kami ingin mengecualikan

238
00:11:47,890 --> 00:11:50,533
‫batas, dan kami ingin mengecualikan bidang.

239
00:11:52,160 --> 00:11:54,940
‫Kami akan menerapkan semua fungsi

240
00:11:54,940 --> 00:11:58,210
‫paging, menyortir, membatasi, dan memilih hanya

241
00:11:58,210 --> 00:12:01,140
‫beberapa bidang tertentu, nanti di beberapa

242
00:12:01,140 --> 00:12:02,690
‫video berikutnya.

243
00:12:03,750 --> 00:12:05,900
‫Selanjutnya, yang perlu kita lakukan pada

244
00:12:05,900 --> 00:12:08,610
‫dasarnya adalah menghapus semua bidang ini dari

245
00:12:08,610 --> 00:12:10,230
‫objek kueri kita.

246
00:12:10,230 --> 00:12:11,690
‫Dan untuk melakukan

247
00:12:11,690 --> 00:12:13,523
‫itu, kita akan mengulang bidang-bidang ini.

248
00:12:14,660 --> 00:12:15,860
‫Jadi, kecualikan

249
00:12:17,690 --> 00:12:19,070
‫bidang untuk masing-masing.

250
00:12:19,070 --> 00:12:20,390
‫Dan kami menggunakan untuk

251
00:12:20,390 --> 00:12:22,423
‫masing-masing karena kami tidak ingin menyimpan array baru.

252
00:12:24,150 --> 00:12:25,840
‫Kemudian masing-masing elemen ini,

253
00:12:25,840 --> 00:12:27,863
‫kita dapat menggunakan operator delete.

254
00:12:30,930 --> 00:12:32,530
‫Dan kemudian dari

255
00:12:32,530 --> 00:12:34,730
‫objek kueri, kami ingin menghapus bidang

256
00:12:34,730 --> 00:12:36,700
‫dengan nama elemen, jadi

257
00:12:36,700 --> 00:12:38,820
‫elemen saat ini dalam array.

258
00:12:38,820 --> 00:12:42,340
‫Seperti ini, pertama-tama kita akan menghapus bidang halaman,

259
00:12:42,340 --> 00:12:45,563
‫lalu pengurutan, lalu batas, lalu bidang.

260
00:12:46,560 --> 00:12:48,440
‫Tentu saja, hanya untuk berjaga-jaga jika itu ada.

261
00:12:48,440 --> 00:12:50,860
‫Jika ada, misalnya, bidang tanpa

262
00:12:50,860 --> 00:12:54,030
‫batas, tentu saja, itu tidak akan dihapus, karena

263
00:12:54,030 --> 00:12:55,130
‫tidak ada.

264
00:12:56,530 --> 00:12:59,233
‫Sekarang mari kita lihat apakah ini benar-benar berfungsi.

265
00:13:00,380 --> 00:13:02,530
‫Saya akan mencatat permintaan titik

266
00:13:02,530 --> 00:13:05,723
‫permintaan dan pada saat yang sama objek kueri kami.

267
00:13:08,742 --> 00:13:09,692
‫Memberikan ini menyelamatkan.

268
00:13:10,600 --> 00:13:12,060
‫Jangan khawatir tentang hasil kami sekarang.

269
00:13:12,060 --> 00:13:14,190
‫Yang ingin saya lihat hanyalah

270
00:13:14,190 --> 00:13:17,080
‫objek kueri kita, hanya untuk memastikan bahwa logika

271
00:13:17,080 --> 00:13:19,530
‫yang kita miliki di sini benar-benar berfungsi.

272
00:13:21,540 --> 00:13:26,540
‫Mari kita tambahkan semacam di sini satu dan batas 10.

273
00:13:27,260 --> 00:13:29,210
‫Ini akan lebih masuk akal nanti.

274
00:13:29,210 --> 00:13:30,540
‫Untuk saat ini, saya

275
00:13:30,540 --> 00:13:32,293
‫hanya menambahkannya, sehingga nanti saya dapat mengecualikannya.

276
00:13:34,490 --> 00:13:37,120
‫Hasil tidak penting, yang penting, adalah bahwa

277
00:13:37,120 --> 00:13:40,640
‫kueri asli kita adalah yang ini di sini, dan kemudian

278
00:13:40,640 --> 00:13:42,820
‫objek kueri kita, yang akan kita

279
00:13:42,820 --> 00:13:44,010
‫gunakan, hanya

280
00:13:44,010 --> 00:13:46,320
‫memiliki kesulitan untuk disetel menjadi mudah.

281
00:13:46,320 --> 00:13:49,723
‫Itu karena kami mengecualikan, halaman, mengurutkan, dan membatasi.

282
00:13:51,000 --> 00:13:53,460
‫Ini sekarang berfungsi, jadi alih-alih menggunakan

283
00:13:53,460 --> 00:13:57,033
‫kueri req dot, kita akan menggunakan objek kueri kita.

284
00:13:59,390 --> 00:14:03,000
‫Mari kita singkirkan itu dan coba lagi.

285
00:14:03,000 --> 00:14:05,080
‫Sekarang kita harus kembali

286
00:14:05,080 --> 00:14:07,180
‫ke query untuk semua dokumen

287
00:14:07,180 --> 00:14:11,473
‫yang memiliki kesulitan diatur ke mudah dan mengabaikan semua bidang lainnya.

288
00:14:13,256 --> 00:14:14,150
‫Kirim itu.

289
00:14:14,150 --> 00:14:15,930
‫Dan memang, kami kembali

290
00:14:15,930 --> 00:14:18,623
‫ke empat hasil yang kami miliki sebelumnya.

291
00:14:19,900 --> 00:14:22,610
‫Kami juga dapat mengaktifkan durasi, dan memang, kami

292
00:14:22,610 --> 00:14:24,743
‫sekarang akan memiliki dua hasil.

293
00:14:26,110 --> 00:14:27,180
‫Ingat bahwa?

294
00:14:27,180 --> 00:14:28,643
‫Dan jika kita mematikan ini,

295
00:14:29,960 --> 00:14:32,380
‫maka tentu saja itu akan bekerja dengan cara yang sama.

296
00:14:32,380 --> 00:14:34,330
‫Mari kita hapus baris kosong ini di sini.

297
00:14:36,740 --> 00:14:40,340
‫Jadi, memang, dengan string kueri asli kami, semuanya

298
00:14:40,340 --> 00:14:42,693
‫jelas juga masih berfungsi sama.

299
00:14:44,220 --> 00:14:47,630
‫Kami menyiapkan fitur filter kami

300
00:14:47,630 --> 00:14:51,410
‫sehingga mengabaikan bidang halaman, pengurutan, dan batas.

301
00:14:51,410 --> 00:14:53,450
‫Namun sebenarnya ada hal lain

302
00:14:53,450 --> 00:14:56,210
‫yang perlu kita lakukan dalam kode kita,

303
00:14:56,210 --> 00:14:59,753
‫agar pada dasarnya dapat menerapkan fitur ini di video mendatang.

304
00:15:01,360 --> 00:15:03,250
‫Mari kembali ke sini ke kode kita.

305
00:15:03,250 --> 00:15:04,570
‫Jadi sekarang mari kita

306
00:15:04,570 --> 00:15:07,093
‫belajar sedikit tentang cara kerja kueri di Mongoose.

307
00:15:08,220 --> 00:15:09,910
‫Saya pikir saya telah

308
00:15:09,910 --> 00:15:13,400
‫menyebutkan ini sebelumnya, tetapi sangat penting untuk membicarakannya lagi.

309
00:15:13,400 --> 00:15:16,943
‫Metode find ini di sini akan mengembalikan kueri.

310
00:15:18,060 --> 00:15:20,430
‫Semua ini di sini akan mengembalikan kueri.

311
00:15:20,430 --> 00:15:22,410
‫Dan itulah alasan mengapa kita

312
00:15:22,410 --> 00:15:24,840
‫kemudian dapat menghubungkan metode lain seperti ini.

313
00:15:24,840 --> 00:15:28,630
‫Seperti di mana, sama, dan semua metode lain yang

314
00:15:28,630 --> 00:15:30,770
‫saya bicarakan dengan Anda sebelumnya.

315
00:15:30,770 --> 00:15:33,770
‫Biarkan saya benar-benar menunjukkannya kepada Anda dalam dokumentasi lagi.

316
00:15:37,670 --> 00:15:40,170
‫Di sini kita memiliki objek

317
00:15:40,170 --> 00:15:42,710
‫kueri, dan sekali lagi, ketika kita

318
00:15:42,710 --> 00:15:46,590
‫menggunakan metode find, itu akan mengembalikan objek yang merupakan kueri.

319
00:15:46,590 --> 00:15:48,310
‫Jadi dalam prototipe titik kueri,

320
00:15:48,310 --> 00:15:50,180
‫kami kemudian memiliki semua metode ini.

321
00:15:50,180 --> 00:15:52,820
‫Misalnya, di sini kita memiliki di mana, yang baru

322
00:15:52,820 --> 00:15:54,040
‫saja saya sebutkan.

323
00:15:54,040 --> 00:15:55,790
‫Kami memiliki sortir mana

324
00:15:55,790 --> 00:15:58,120
‫yang akan digunakan nanti untuk menyortir.

325
00:15:58,120 --> 00:16:00,870
‫Kami memiliki, mari kita lihat, kami memiliki kurang

326
00:16:00,870 --> 00:16:03,740
‫dari atau kurang dari sama, kami memiliki lebih besar.

327
00:16:03,740 --> 00:16:05,260
‫Kita punya...

328
00:16:05,260 --> 00:16:06,700
‫Apa lagi yang kami gunakan?

329
00:16:06,700 --> 00:16:08,070
‫Kami menggunakan persamaan.

330
00:16:08,070 --> 00:16:11,310
‫Semua ini adalah bagian dari prototipe titik kueri.

331
00:16:11,310 --> 00:16:13,920
‫Yang, sekali lagi, merujuk ke

332
00:16:13,920 --> 00:16:16,783
‫objek yang kita buat menggunakan kelas kueri.

333
00:16:19,613 --> 00:16:21,410
‫Sekali lagi, inilah alasan

334
00:16:21,410 --> 00:16:24,070
‫mengapa kita bisa melakukan chaining semacam ini.

335
00:16:24,070 --> 00:16:26,290
‫Sekarang sampai pada bagian penting.

336
00:16:26,290 --> 00:16:28,350
‫Segera setelah kami benar-benar

337
00:16:28,350 --> 00:16:30,970
‫menunggu hasil kueri, maka segera setelah kami

338
00:16:30,970 --> 00:16:33,950
‫gunakan, tunggu di sini atau di sini, misalnya.

339
00:16:33,950 --> 00:16:35,890
‫Segera setelah kami menggunakan ini

340
00:16:35,890 --> 00:16:37,910
‫wait, kueri kemudian akan dieksekusi

341
00:16:37,910 --> 00:16:39,610
‫dan kembali dengan

342
00:16:39,610 --> 00:16:42,144
‫dokumen yang benar-benar cocok dengan kueri kami.

343
00:16:42,144 --> 00:16:44,960
‫Jika kita melakukannya seperti ini, seperti yang kita

344
00:16:44,960 --> 00:16:46,730
‫miliki di sini, maka sekarang

345
00:16:46,730 --> 00:16:49,110
‫ada cara, nanti, menerapkan pengurutan, atau pagination,

346
00:16:49,110 --> 00:16:50,793
‫atau semua fitur lainnya.

347
00:16:51,880 --> 00:16:53,870
‫Alih-alih, yang harus kita

348
00:16:53,870 --> 00:16:57,220
‫lakukan adalah menyimpan bagian ini di sini ke dalam kueri,

349
00:16:57,220 --> 00:17:00,200
‫lalu pada akhirnya, segera setelah kita mengubah semua metode

350
00:17:00,200 --> 00:17:02,440
‫ke kueri yang kita perlukan, baru

351
00:17:02,440 --> 00:17:04,863
‫pada akhirnya, kita bisa menunggu itu pertanyaan.

352
00:17:06,080 --> 00:17:08,600
‫Misalnya, kita akan menggunakan metode sortir.

353
00:17:08,600 --> 00:17:10,200
‫Kami akan menggunakan

354
00:17:10,200 --> 00:17:12,440
‫metode prediksi, kami akan menggunakan metode batas,

355
00:17:12,440 --> 00:17:14,500
‫dan kami akan menggunakan, sungguh, banyak

356
00:17:14,500 --> 00:17:16,620
‫metode, dan menghubungkannya ke kueri ini.

357
00:17:16,620 --> 00:17:18,110
‫Itu tidak mungkin

358
00:17:18,110 --> 00:17:20,910
‫dilakukan, sekali lagi, jika kita menunggu hasil dari

359
00:17:20,910 --> 00:17:23,073
‫query awal ini di sini, segera.

360
00:17:24,590 --> 00:17:26,470
‫Saya harap itu masuk akal.

361
00:17:26,470 --> 00:17:28,660
‫Cara yang akan kami lakukan

362
00:17:28,660 --> 00:17:30,140
‫adalah kami

363
00:17:31,090 --> 00:17:33,473
‫akan mengadakan tur di sini.

364
00:17:35,540 --> 00:17:37,623
‫Dan ini akan menunggu permintaan.

365
00:17:41,310 --> 00:17:43,830
‫Kuerinya adalah, yah, sekadar kueri tanpa

366
00:17:43,830 --> 00:17:45,533
‫menunggu apa pun.

367
00:17:47,460 --> 00:17:49,360
‫Hanya untuk membuatnya konsisten dengan bagian ini

368
00:17:49,360 --> 00:17:50,363
‫di sini, mari

369
00:17:52,060 --> 00:17:53,163
‫kita lakukan seperti ini.

370
00:17:55,603 --> 00:17:57,123
‫Katakanlah,

371
00:17:58,540 --> 00:18:00,437
‫pertama, kita membuat

372
00:18:00,437 --> 00:18:03,363
‫kueri dan kemudian menjalankan kueri.

373
00:18:07,290 --> 00:18:08,313
‫Itu tidak benar.

374
00:18:11,490 --> 00:18:13,040
‫Karena kita melakukan komentar

375
00:18:13,040 --> 00:18:14,330
‫di sini,

376
00:18:15,300 --> 00:18:16,790
‫katakanlah kirim tanggapan.

377
00:18:16,790 --> 00:18:20,023
‫Hanya untuk membuat kode kita sedikit lebih mudah dipindai.

378
00:18:20,870 --> 00:18:22,380
‫Saya harap semua

379
00:18:22,380 --> 00:18:24,820
‫ini masuk akal, ini ternyata menjadi

380
00:18:24,820 --> 00:18:26,780
‫video yang cukup panjang, tetapi

381
00:18:26,780 --> 00:18:29,356
‫penting untuk menyelesaikan bagian ini di sini

382
00:18:29,356 --> 00:18:31,830
‫dengan menjelaskan logika ini kepada Anda di

383
00:18:31,830 --> 00:18:34,080
‫sini, sehingga di video berikutnya, kami

384
00:18:34,080 --> 00:18:36,110
‫kemudian dapat menerapkan sisa fitur.

385
00:18:36,110 --> 00:18:37,940
‫Karena, sekali lagi, tanpa

386
00:18:37,940 --> 00:18:39,983
‫seperti ini, tidak akan berhasil.

