﻿1
00:00:01,100 --> 00:00:02,450
‫Narator: Selamat datang kembali.

2
00:00:02,450 --> 00:00:04,570
‫Dalam video ini dan

3
00:00:04,570 --> 00:00:06,820
‫video berikutnya saya ingin memperkenalkan

4
00:00:06,820 --> 00:00:10,680
‫Anda ke pipa agregasi MongoDB yang merupakan kerangka kerja

5
00:00:10,680 --> 00:00:13,750
‫MongoDB yang sangat kuat dan sangat berguna

6
00:00:13,750 --> 00:00:15,433
‫untuk agregasi data.

7
00:00:17,180 --> 00:00:19,020
‫Dan idenya adalah

8
00:00:19,020 --> 00:00:21,900
‫bahwa pada dasarnya kami mendefinisikan saluran

9
00:00:21,900 --> 00:00:24,070
‫yang semua dokumen dari

10
00:00:24,070 --> 00:00:26,470
‫koleksi tertentu melalui mana mereka

11
00:00:26,470 --> 00:00:30,870
‫diproses langkah demi langkah untuk mengubahnya menjadi hasil agregat.

12
00:00:30,870 --> 00:00:33,660
‫Misalnya, kita dapat menggunakan pipa agregasi untuk

13
00:00:33,660 --> 00:00:36,190
‫menghitung rata-rata atau menghitung nilai minimum

14
00:00:36,190 --> 00:00:39,010
‫dan maksimum atau kita dapat menghitung jarak

15
00:00:39,010 --> 00:00:41,380
‫genap, dan kita benar-benar dapat

16
00:00:41,380 --> 00:00:43,590
‫melakukan segala macam hal.

17
00:00:43,590 --> 00:00:46,220
‫Sungguh menakjubkan betapa kuatnya

18
00:00:46,220 --> 00:00:48,440
‫pipa agregasi ini.

19
00:00:48,440 --> 00:00:50,530
‫Baiklah, tapi cukup bicara.

20
00:00:50,530 --> 00:00:53,900
‫Sekarang mari kita mulai menggunakan pipa agregasi dan saya

21
00:00:53,900 --> 00:00:57,122
‫akan membuat fungsi header baru di sini karena

22
00:00:57,122 --> 00:01:00,290
‫nanti kita akan menentukan rute baru dan kemudian

23
00:01:00,290 --> 00:01:02,583
‫menggunakan fungsi itu untuk itu.

24
00:01:03,610 --> 00:01:06,093
‫Tapi rute baru itu, saya akan membuatnya nanti.

25
00:01:07,495 --> 00:01:09,720
‫Jadi saya ingin membuat fungsi

26
00:01:09,720 --> 00:01:13,756
‫di sini yang akan menghitung beberapa statistik tentang tur kami.

27
00:01:13,756 --> 00:01:16,987
‫Jadi saya akan menyebutnya getTourStats.

28
00:01:19,070 --> 00:01:21,860
‫Oke, jadi Statistik untuk statistik, dan

29
00:01:21,860 --> 00:01:23,770
‫itu akan menjadi

30
00:01:23,770 --> 00:01:28,770
‫fungsi asinkron dan kode vs sekarang secara otomatis mengisi ini.

31
00:01:29,140 --> 00:01:33,923
‫Baiklah, mari kita buat atau coba catch block di sini.

32
00:01:38,010 --> 00:01:41,970
‫Sebenarnya, saya akan menyalin ini dari atas sini,

33
00:01:41,970 --> 00:01:45,600
‫dan sekarang di sini saya akan membuat

34
00:01:45,600 --> 00:01:47,703
‫variabel bernama stats.

35
00:01:50,120 --> 00:01:54,600
‫Sekarang pipa agregasi benar-benar merupakan fitur MongoDB.

36
00:01:54,600 --> 00:01:57,330
‫Tapi luwak, tentu saja, memberi kita akses

37
00:01:57,330 --> 00:02:01,210
‫ke sana, sehingga kita bisa menggunakannya di driver luwak, bukan?

38
00:02:01,210 --> 00:02:04,070
‫Jadi menggunakan model wisata kami

39
00:02:04,070 --> 00:02:07,217
‫untuk mengakses koleksi wisata, kami katakan

40
00:02:07,217 --> 00:02:10,053
‫tur. agregat.

41
00:02:12,580 --> 00:02:15,250
‫Jadi pipa agregasi sedikit

42
00:02:15,250 --> 00:02:18,847
‫seperti kueri biasa dan menggunakan pipa

43
00:02:18,847 --> 00:02:22,512
‫agregasi itu seperti melakukan kueri biasa.

44
00:02:22,512 --> 00:02:25,550
‫Perbedaannya di sini adalah bahwa dalam agregasi, seperti

45
00:02:25,550 --> 00:02:28,620
‫yang telah saya sebutkan, kita dapat memanipulasi data

46
00:02:28,620 --> 00:02:30,750
‫dalam beberapa langkah yang berbeda

47
00:02:30,750 --> 00:02:33,400
‫dan sekarang mari kita definisikan langkah-langkah ini.

48
00:02:33,400 --> 00:02:37,093
‫Dan untuk itu, kami melewati serangkaian tahapan yang disebut.

49
00:02:38,150 --> 00:02:41,050
‫Jadi kita melewati sebuah array, dan kemudian di sini

50
00:02:41,050 --> 00:02:43,110
‫kita akan memiliki banyak tahapan.

51
00:02:43,110 --> 00:02:46,540
‫Dan sekali lagi dokumen melewati tahapan ini satu per

52
00:02:46,540 --> 00:02:50,350
‫satu, langkah demi langkah dalam urutan yang ditentukan seperti yang

53
00:02:50,350 --> 00:02:52,462
‫kita definisikan di sini.

54
00:02:52,462 --> 00:02:54,860
‫Jadi masing-masing elemen dalam array ini

55
00:02:54,860 --> 00:02:56,970
‫akan menjadi salah satu tahapan.

56
00:02:56,970 --> 00:02:59,470
‫Dan ada banyak sekali tahapan berbeda yang dapat

57
00:02:59,470 --> 00:03:02,110
‫kita pilih, tetapi saya hanya akan memberi tahu Anda

58
00:03:02,110 --> 00:03:04,200
‫yang paling umum dalam kuliah ini

59
00:03:04,200 --> 00:03:06,070
‫dan juga di kuliah berikutnya.

60
00:03:06,070 --> 00:03:08,400
‫Tapi bagaimanapun, sekarang saya ingin

61
00:03:08,400 --> 00:03:11,500
‫meluangkan waktu sejenak dan melihat sekilas dokumentasi MongoDB

62
00:03:11,500 --> 00:03:13,853
‫karena saya pikir kita belum melakukannya.

63
00:03:17,285 --> 00:03:20,840
‫Jadi MongoDB dan kita sudah tahu website ini.

64
00:03:20,840 --> 00:03:24,460
‫Jadi di situs web MongoDB kami, kami pergi ke

65
00:03:24,460 --> 00:03:27,840
‫sini untuk belajar, kemudian dokumentasi dan kemudian

66
00:03:27,840 --> 00:03:32,380
‫di sini kami memilih Manual MongoDB dan dokumentasi ini sangat besar.

67
00:03:32,380 --> 00:03:34,480
‫Ini benar-benar, ada banyak hal di

68
00:03:34,480 --> 00:03:36,450
‫sini dan jika Anda akan

69
00:03:36,450 --> 00:03:39,623
‫melalui semuanya, maka Anda akan benar-benar menjadi master MongoDB.

70
00:03:40,600 --> 00:03:44,010
‫Jadi ini memberi Anda pengantar yang bagus untuk MongoDB, Anda

71
00:03:44,010 --> 00:03:45,760
‫memiliki instalasi di sini.

72
00:03:45,760 --> 00:03:49,610
‫Anda memiliki Operasi CRUD, jadi gambaran yang bagus

73
00:03:49,610 --> 00:03:51,340
‫tentang banyak hal

74
00:03:51,340 --> 00:03:54,610
‫yang telah kita pelajari sebelumnya, bukan?

75
00:03:54,610 --> 00:03:56,960
‫Kemudian Anda memiliki hal-hal tentang agregasi

76
00:03:57,800 --> 00:04:00,390
‫dan khususnya, pipa agregasi yang akan kita bicarakan

77
00:04:00,390 --> 00:04:02,320
‫sekarang, tetapi apa yang

78
00:04:02,320 --> 00:04:04,730
‫ingin saya tunjukkan kepada Anda di sini

79
00:04:04,730 --> 00:04:08,210
‫sebenarnya adalah referensi yang kita miliki di bagian bawah karena

80
00:04:08,210 --> 00:04:10,750
‫dalam referensi yang kita miliki di sini

81
00:04:10,750 --> 00:04:12,880
‫untuk contoh operator dan di sanalah

82
00:04:12,880 --> 00:04:16,570
‫kami memiliki banyak hal penting yang telah kami gunakan sepanjang waktu.

83
00:04:16,570 --> 00:04:18,430
‫Jadi mari kita lihat di

84
00:04:18,430 --> 00:04:22,200
‫sini di operator kueri, misalnya dan di sini Anda lihat, kami sebenarnya

85
00:04:22,200 --> 00:04:24,210
‫memiliki operator yang sudah kami gunakan.

86
00:04:24,210 --> 00:04:26,970
‫Jadi misalnya, lebih besar dari atau sama, atau kurang

87
00:04:26,970 --> 00:04:29,560
‫dari dan sama, tetapi jika suatu hari

88
00:04:29,560 --> 00:04:32,200
‫nanti di aplikasi Anda sendiri Anda memerlukan beberapa operator

89
00:04:32,200 --> 00:04:35,170
‫lain, nah, sekarang Anda tahu di mana Anda dapat menemukannya.

90
00:04:35,170 --> 00:04:37,570
‫Sekarang tentu saja, itu juga selalu

91
00:04:37,570 --> 00:04:40,370
‫sangat membantu untuk hanya melakukan pencarian Google cepat,

92
00:04:40,370 --> 00:04:43,490
‫mungkin menemukan beberapa posting stack overflow tentang hal itu,

93
00:04:43,490 --> 00:04:45,687
‫tapi percayalah, berkali-kali lebih mudah

94
00:04:45,687 --> 00:04:49,790
‫dan lebih cepat untuk hanya dengan cepat melompat ke dokumentasi dan dengan

95
00:04:49,790 --> 00:04:52,763
‫cepat mencari apa pun yang Anda ' kembali membutuhkan.

96
00:04:53,700 --> 00:04:56,350
‫Anda hanya perlu mengetahui cara kerja

97
00:04:56,350 --> 00:04:59,050
‫dokumentasi dan setelah Anda mengetahuinya, akan sangat mudah

98
00:04:59,050 --> 00:05:02,473
‫bagi Anda untuk menemukan apa yang Anda cari, oke?

99
00:05:03,400 --> 00:05:05,570
‫Di sini Anda juga memiliki

100
00:05:05,570 --> 00:05:08,920
‫beberapa operator logika misalnya, operator OR yang telah kita gunakan.

101
00:05:08,920 --> 00:05:13,920
‫Sekali lagi, benar-benar banyak hal, operator geospasial dan kami akan

102
00:05:14,120 --> 00:05:16,790
‫menggunakan beberapa sebenarnya, nanti, dan

103
00:05:16,790 --> 00:05:19,040
‫ya, benar-benar banyak hal.

104
00:05:19,040 --> 00:05:22,280
‫Lalu apa yang ingin saya tunjukkan setelah kuliah

105
00:05:22,280 --> 00:05:24,793
‫ini sebenarnya, adalah tahapan pipa agregasi.

106
00:05:26,680 --> 00:05:29,140
‫Jadi di sini Anda memiliki banyak dari

107
00:05:29,140 --> 00:05:32,090
‫mereka dan apa yang akan kita gunakan dalam

108
00:05:32,090 --> 00:05:35,410
‫kuliah ini di sini adalah pertandingan, misalnya dan grup,

109
00:05:35,410 --> 00:05:36,820
‫di mana itu?

110
00:05:36,820 --> 00:05:39,670
‫Ya grup, itu adalah salah satu yang sangat penting,

111
00:05:39,670 --> 00:05:41,660
‫dan seperti yang saya sebutkan, saya

112
00:05:41,660 --> 00:05:44,920
‫akan menunjukkan yang paling penting dalam kuliah ini dan yang berikutnya.

113
00:05:44,920 --> 00:05:48,270
‫Tetapi sekali lagi, jika Anda dalam beberapa kasus membutuhkan sesuatu yang

114
00:05:48,270 --> 00:05:51,110
‫lain, silakan saja, datang ke sini untuk dokumentasi ini

115
00:05:51,110 --> 00:05:53,920
‫dan Anda akan menemukan apa yang Anda cari.

116
00:05:53,920 --> 00:05:54,753
‫Baiklah?

117
00:05:55,740 --> 00:05:58,630
‫Bagaimanapun, sekarang mari kita pelajari bagaimana kita dapat mendefinisikan

118
00:05:58,630 --> 00:06:00,940
‫salah satu dari tahapan ini, oke?

119
00:06:00,940 --> 00:06:03,170
‫Dan saya akan mulai dengan pertandingan.

120
00:06:03,170 --> 00:06:05,330
‫Dan pencocokan pada dasarnya adalah

121
00:06:05,330 --> 00:06:07,890
‫untuk memilih atau menyaring dokumen tertentu.

122
00:06:07,890 --> 00:06:09,510
‫Dan itu sangat sederhana.

123
00:06:09,510 --> 00:06:13,210
‫Ini benar-benar seperti objek filter di MongoDB, seperti

124
00:06:13,210 --> 00:06:16,380
‫yang telah kami gunakan berkali-kali.

125
00:06:16,380 --> 00:06:19,340
‫Jadi masing-masing stage adalah

126
00:06:19,340 --> 00:06:22,750
‫objek dan kemudian munculah nama stage.

127
00:06:22,750 --> 00:06:26,300
‫Jadi ini tahap pertandingan, oke?

128
00:06:26,300 --> 00:06:29,603
‫Dan seperti yang saya sebutkan, itu benar-benar hanya sebuah kueri.

129
00:06:30,730 --> 00:06:33,570
‫Jadi katakanlah sebagai permulaan, kami hanya ingin memilih dokumen

130
00:06:33,570 --> 00:06:35,200
‫yang memiliki rata-rata peringkat

131
00:06:35,200 --> 00:06:39,630
‫lebih besar atau sama dengan 4. 5.

132
00:06:39,630 --> 00:06:41,110
‫Jadi bisakah kamu melakukan itu?

133
00:06:41,110 --> 00:06:43,560
‫Aku hanya akan memberimu waktu sebentar untuk melakukannya di sini.

134
00:06:44,730 --> 00:06:46,123
‫Jadi saya harap Anda melakukannya.

135
00:06:47,090 --> 00:06:50,440
‫Jadi peringkat rata-rata, harus lebih besar atau

136
00:06:52,240 --> 00:06:55,383
‫sama dengan 4. 5.

137
00:06:56,460 --> 00:06:59,260
‫Dan begitulah, itulah tahap pertama.

138
00:06:59,260 --> 00:07:03,500
‫Dan biasanya tahap pertandingan ini hanyalah tahap pendahuluan untuk

139
00:07:03,500 --> 00:07:07,050
‫kemudian mempersiapkan tahap-tahap selanjutnya yang akan datang.

140
00:07:07,050 --> 00:07:10,173
‫Jadi yang berikutnya sekarang adalah penyisihan grup.

141
00:07:13,000 --> 00:07:14,610
‫Jadi grup dan

142
00:07:14,610 --> 00:07:17,840
‫kemudian di sana kita harus selalu melewati objek lain.

143
00:07:17,840 --> 00:07:20,600
‫Jadi terlihat agak aneh dengan semua objek ini, tapi,

144
00:07:20,600 --> 00:07:22,870
‫ya, Anda pernah melihatnya sebelumnya dan MongoDB

145
00:07:22,870 --> 00:07:24,780
‫hanya bekerja dengan cara ini.

146
00:07:24,780 --> 00:07:28,293
‫Itu selalu objek, di dalam objek, di dalam objek.

147
00:07:29,520 --> 00:07:32,690
‫Dan grup ini adalah tempat keajaiban yang sebenarnya

148
00:07:32,690 --> 00:07:34,520
‫terjadi karena seperti namanya,

149
00:07:34,520 --> 00:07:36,870
‫ini memungkinkan kita untuk mengelompokkan dokumen

150
00:07:36,870 --> 00:07:38,820
‫bersama-sama, pada dasarnya menggunakan akumulator.

151
00:07:38,820 --> 00:07:40,600
‫Dan akumulator

152
00:07:40,600 --> 00:07:42,850
‫misalnya, bahkan menghitung rata-rata.

153
00:07:42,850 --> 00:07:46,270
‫Jadi jika kami memiliki lima tur, masing-masing

154
00:07:46,270 --> 00:07:50,250
‫memiliki peringkat, kami kemudian dapat menghitung peringkat rata-rata menggunakan grup.

155
00:07:50,250 --> 00:07:52,680
‫Jadi mari kita lakukan hal itu di sini.

156
00:07:52,680 --> 00:07:55,190
‫Sekarang hal pertama, adalah kita selalu

157
00:07:55,190 --> 00:07:58,950
‫perlu menentukan id karena di sinilah kita akan menentukan apa

158
00:07:58,950 --> 00:08:00,803
‫yang ingin kita kelompokkan.

159
00:08:02,420 --> 00:08:05,480
‫Untuk saat ini, kami mengatakan null di sini

160
00:08:05,480 --> 00:08:08,870
‫karena kami ingin memiliki semuanya dalam satu grup sehingga kami

161
00:08:08,870 --> 00:08:11,600
‫dapat menghitung statistik untuk semua tur bersama-sama

162
00:08:11,600 --> 00:08:13,713
‫dan tidak memisahkannya berdasarkan grup.

163
00:08:14,590 --> 00:08:18,250
‫Kami akan, sedikit kemudian juga mengelompokkan berdasarkan hal-hal yang

164
00:08:18,250 --> 00:08:21,010
‫berbeda, misalnya kami dapat mengelompokkan berdasarkan kesulitan

165
00:08:21,010 --> 00:08:23,900
‫dan kami kemudian dapat, misalnya menghitung rata-rata

166
00:08:23,900 --> 00:08:26,820
‫untuk tur mudah, rata-rata untuk tur sedang dan

167
00:08:26,820 --> 00:08:29,373
‫rata-rata untuk tur yang sulit.

168
00:08:29,373 --> 00:08:32,720
‫Jadi sekali lagi, kita dapat mengelompokkan berdasarkan salah satu bidang dan

169
00:08:32,720 --> 00:08:35,750
‫bidang itu, yang akan kita tentukan di sini, tetapi untuk

170
00:08:35,750 --> 00:08:39,000
‫saat ini, seperti yang saya katakan, kami ingin menghitung rata-rata ini

171
00:08:39,000 --> 00:08:41,803
‫untuk semua tur bersama dalam satu grup besar.

172
00:08:42,865 --> 00:08:46,990
‫Jadi dalam hal ini kita katakan _id dan setel ke null.

173
00:08:47,994 --> 00:08:51,600
‫Sekarang mari kita benar-benar menghitung peringkat rata-rata.

174
00:08:51,600 --> 00:08:54,423
‫Untuk melakukan itu, kami hanya menentukan bidang

175
00:08:55,320 --> 00:08:58,713
‫baru, jadi mari kita sebut saja peringkat rata-rata,

176
00:09:01,080 --> 00:09:03,480
‫jadi seperti ini, dan ini

177
00:09:05,620 --> 00:09:07,160
‫akan menjadi baik,

178
00:09:07,160 --> 00:09:11,560
‫rata-rata, yang merupakan operator MongoDB lain, jadi yang ini di sini.

179
00:09:11,560 --> 00:09:14,233
‫Anda akan menemukannya di referensi jika Anda mencarinya.

180
00:09:15,149 --> 00:09:17,800
‫Jadi ini adalah operator matematika

181
00:09:17,800 --> 00:09:20,520
‫yang menghitung rata-rata dan sekarang nama bidangnya.

182
00:09:20,520 --> 00:09:23,530
‫Dan lagi, saya tahu ini akan terlihat sangat

183
00:09:23,530 --> 00:09:26,390
‫aneh, tetapi untuk menentukan bidang yang ingin kita

184
00:09:26,390 --> 00:09:29,110
‫hitung rata-ratanya, kita perlu menggunakan tanda dolar,

185
00:09:29,110 --> 00:09:31,900
‫tetapi dalam tanda kutip di sini dan

186
00:09:31,900 --> 00:09:33,583
‫kemudian nama bidangnya.

187
00:09:34,560 --> 00:09:36,803
‫Jadi peringkat rata-rata dalam hal ini.

188
00:09:39,316 --> 00:09:41,573
‫Dan mari kita juga menghitung harga rata-rata.

189
00:09:43,500 --> 00:09:47,143
‫Jadi harga rata-rata, dan sekali lagi, melakukan kesalahan di sini,

190
00:09:48,200 --> 00:09:49,300
‫dan rata-rata

191
00:09:50,870 --> 00:09:52,970
‫dan sekali lagi, nama bidang

192
00:09:52,970 --> 00:09:55,170
‫dan dalam tanda kutip dan dengan

193
00:09:55,170 --> 00:09:56,470
‫tanda dolar ini.

194
00:09:58,800 --> 00:10:00,890
‫Benar, jadi ini terlihat agak

195
00:10:00,890 --> 00:10:01,900
‫aneh lagi,

196
00:10:01,900 --> 00:10:04,510
‫tetapi inilah cara kerja pipa agregasi.

197
00:10:04,510 --> 00:10:06,300
‫Jadi kami memiliki harga rata-rata.

198
00:10:06,300 --> 00:10:08,880
‫Mari kita juga menghitung

199
00:10:08,880 --> 00:10:12,560
‫harga minimum, jadi harga terkecil, dan harga terbesar.

200
00:10:12,560 --> 00:10:13,620
‫Jadi

201
00:10:15,439 --> 00:10:19,360
‫minPrice dan mulai sekarang, semuanya akan terlihat mirip,

202
00:10:19,360 --> 00:10:21,190
‫jadi sekarang kita menggunakan

203
00:10:22,200 --> 00:10:26,603
‫operator min dan sekali lagi nama field seperti ini.

204
00:10:29,783 --> 00:10:32,530
‫Dan koma di sini dan sekarang mari kita

205
00:10:32,530 --> 00:10:35,053
‫gandakan yang ini untuk menghitung harga maksimum.

206
00:10:37,910 --> 00:10:40,310
‫Dan sekarang, mari kita lihat apa yang

207
00:10:40,310 --> 00:10:42,160
‫sudah kita dapatkan saat ini.

208
00:10:44,240 --> 00:10:47,430
‫Jadi sekarang kita harus benar-benar mengirimkan tanggapan ini,

209
00:10:47,430 --> 00:10:49,250
‫dan sekali lagi, saya

210
00:10:49,250 --> 00:10:53,513
‫akan pergi dan mengambil beberapa tanggapan yang sudah selesai di sini.

211
00:10:59,154 --> 00:11:01,853
‫Jadi data yang ingin kita kirimkan disebut stats.

212
00:11:06,740 --> 00:11:09,610
‫Dan sekarang yang perlu kita lakukan sebenarnya adalah menambahkan rute baru

213
00:11:09,610 --> 00:11:12,390
‫di sini di rute tur kita dan sekali lagi, saya

214
00:11:12,390 --> 00:11:14,543
‫akan mengedit di sini, tepat di atas.

215
00:11:16,368 --> 00:11:18,690
‫Jadi router. route

216
00:11:21,597 --> 00:11:26,597
‫/gettour, atau sebenarnya hanya tour-stats, seperti ini karena

217
00:11:29,460 --> 00:11:33,730
‫get sudah didefinisikan dalam metode HTTP.

218
00:11:33,730 --> 00:11:37,090
‫Jadi tidak perlu mengulanginya di nama.

219
00:11:37,090 --> 00:11:38,640
‫Jadi tourController. getTourStats.

220
00:11:42,268 --> 00:11:46,707
‫Berikan yang aman dan mari kita benar-benar mengujinya sekarang.

221
00:11:48,270 --> 00:11:52,710
‫Jadi saya sangat tertarik untuk mengujinya sekarang, sebenarnya untuk melihat apakah

222
00:11:52,710 --> 00:11:57,710
‫itu berfungsi karena sekali lagi ini adalah alat yang luar biasa dan

223
00:11:57,720 --> 00:11:59,370
‫sangat kuat yang

224
00:11:59,370 --> 00:12:01,503
‫memungkinkan Anda melakukan banyak hal.

225
00:12:03,130 --> 00:12:05,280
‫Jadi statistik tur, kirimkan

226
00:12:06,290 --> 00:12:09,000
‫dan itu bukan hasil yang kami

227
00:12:09,000 --> 00:12:12,600
‫tunggu-tunggu, jadi itu hanya jalur pipa yang kami tentukan,

228
00:12:12,600 --> 00:12:15,750
‫tapi saya sudah tahu mengapa itu terjadi.

229
00:12:15,750 --> 00:12:18,950
‫Jadi kami tidak menunggu hasilnya.

230
00:12:18,950 --> 00:12:21,410
‫Jadi ini, pada dasarnya, seperti

231
00:12:21,410 --> 00:12:24,453
‫kueri normal yang akan mengembalikan objek agregat.

232
00:12:25,857 --> 00:12:29,770
‫Jadi . find akan mengembalikan kueri, dan . agregat

233
00:12:29,770 --> 00:12:32,330
‫akan mengembalikan objek agregat.

234
00:12:32,330 --> 00:12:34,180
‫Dan kemudian hanya ketika

235
00:12:34,180 --> 00:12:36,940
‫kita menunggunya, itu benar-benar kembali dengan hasilnya.

236
00:12:36,940 --> 00:12:39,850
‫Jadi itu juga mengapa kami mendefinisikan fungsi ini di sini

237
00:12:39,850 --> 00:12:42,640
‫sebagai fungsi async, sehingga kami dapat menggunakan menunggu di

238
00:12:42,640 --> 00:12:44,953
‫sana dan ini adalah tempat yang tepat.

239
00:12:45,860 --> 00:12:47,950
‫Mari kita coba lagi.

240
00:12:47,950 --> 00:12:49,850
‫Dan ini dia!

241
00:12:49,850 --> 00:12:51,250
‫Sangat bagus!

242
00:12:51,250 --> 00:12:54,910
‫Kami memiliki peringkat rata-rata dari semua tur kami, kami

243
00:12:54,910 --> 00:12:56,720
‫memiliki harga rata-rata

244
00:12:56,720 --> 00:13:01,720
‫yang Anda lihat adalah 1563 dan kemudian minimum dan maksimum, bukan?

245
00:13:01,910 --> 00:13:04,210
‫Dan dari data kami, kami benar-benar

246
00:13:04,210 --> 00:13:06,410
‫dapat mengonfirmasi bahwa ini benar.

247
00:13:06,410 --> 00:13:07,770
‫Sangat bagus!

248
00:13:07,770 --> 00:13:09,770
‫Benar-benar hebat.

249
00:13:09,770 --> 00:13:11,950
‫Sekarang, satu hal lagi yang

250
00:13:11,950 --> 00:13:14,450
‫ingin saya lakukan di sini adalah menghitung

251
00:13:14,450 --> 00:13:18,730
‫jumlah total peringkat yang kami miliki dan juga jumlah total tur.

252
00:13:18,730 --> 00:13:20,700
‫Jadi kita

253
00:13:20,700 --> 00:13:23,090
‫punya rating rata-rata di

254
00:13:23,090 --> 00:13:27,323
‫sini dan mari kita lakukan sebelumnya, jadi

255
00:13:28,850 --> 00:13:31,950
‫numRatings, seperti ini dan Anda

256
00:13:31,950 --> 00:13:36,950
‫mungkin bisa menebak bahwa yang ini disebut sum dan

257
00:13:38,500 --> 00:13:43,500
‫kemudian ratingAverage, atau sebenarnya bukan ratingAverage, tapi ratingQuantity, kan?

258
00:13:43,610 --> 00:13:46,480
‫Jadi di situlah jumlah peringkat disimpan

259
00:13:46,480 --> 00:13:49,354
‫dan jumlah peringkat, totalnya, akan menjadi

260
00:13:49,354 --> 00:13:51,863
‫jumlah dari semua ini bersama-sama.

261
00:13:52,840 --> 00:13:55,090
‫Dan sekarang, yang terakhir, adalah jumlah tur dan

262
00:13:56,100 --> 00:13:57,880
‫yang itu sedikit lebih rumit,

263
00:13:57,880 --> 00:14:00,660
‫dan itu bagus untuk ditunjukkan kepada Anda di sini.

264
00:14:00,660 --> 00:14:04,570
‫Jadi kita masih ingin menjumlahkan, jadi untuk menjumlahkan semuanya, pada

265
00:14:04,570 --> 00:14:07,960
‫dasarnya, jadi kita masih menggunakan sum, tapi apa

266
00:14:07,960 --> 00:14:10,340
‫yang akan kita tambahkan bersama?

267
00:14:10,340 --> 00:14:13,493
‫Yah, pada dasarnya kita menambahkan satu untuk setiap dokumen,

268
00:14:14,443 --> 00:14:17,380
‫jadi kita katakan 1, dan hanya itu.

269
00:14:17,380 --> 00:14:19,610
‫Jadi pada dasarnya untuk setiap

270
00:14:19,610 --> 00:14:22,020
‫dokumen yang akan melalui jalur ini,

271
00:14:22,020 --> 00:14:24,960
‫satu akan ditambahkan ke penghitung angka ini.

272
00:14:24,960 --> 00:14:29,430
‫Sebut saja numTours.

273
00:14:29,430 --> 00:14:33,763
‫Jadi, ya, mari kita uji sekarang, lagi.

274
00:14:36,350 --> 00:14:39,320
‫Dan memang kami mendapatkan sembilan tur kami dan kami

275
00:14:39,320 --> 00:14:41,303
‫sudah tahu bahwa kami memiliki sembilan.

276
00:14:42,650 --> 00:14:46,820
‫Jadi ini semua statistik untuk semua tur bersama-sama, tapi sekarang mari

277
00:14:46,820 --> 00:14:48,890
‫kita bawa ke tingkat berikutnya.

278
00:14:48,890 --> 00:14:52,450
‫Seperti yang saya katakan sebelumnya, kami sekarang dapat mengelompokkan hasil kami

279
00:14:52,450 --> 00:14:53,790
‫untuk bidang yang berbeda.

280
00:14:53,790 --> 00:14:56,870
‫Dan mari kita mulai dengan kesulitannya.

281
00:14:56,870 --> 00:14:59,830
‫Dan itu sangat mirip dengan menentukan bidang di bawah

282
00:14:59,830 --> 00:15:01,990
‫sana yang hanya merupakan tanda dolar,

283
00:15:01,990 --> 00:15:03,570
‫dan kemudian nama bidang.

284
00:15:03,570 --> 00:15:07,303
‫Jadi $difficulty, berikan brankas dan hanya itu.

285
00:15:08,350 --> 00:15:12,040
‫Kirim ke sini, dan sekarang kami memiliki

286
00:15:12,040 --> 00:15:15,950
‫statistik yang ditentukan untuk masing-masing dari tiga kesulitan ini.

287
00:15:15,950 --> 00:15:18,200
‫Jadi itu benar-benar luar biasa.

288
00:15:18,200 --> 00:15:20,470
‫Jadi ini adalah bagian yang membuat saya tercengang.

289
00:15:20,470 --> 00:15:22,170
‫Ini benar-benar fantastis.

290
00:15:22,170 --> 00:15:25,020
‫Maksud saya, Anda dapat mulai melihat segala

291
00:15:25,020 --> 00:15:27,260
‫macam hal, semua jenis manipulasi

292
00:15:27,260 --> 00:15:30,890
‫data yang dapat Anda lakukan menggunakan saluran pipa ini, bukan?

293
00:15:30,890 --> 00:15:33,360
‫Jadi sekarang kami benar-benar dapat mulai menganalisis

294
00:15:33,360 --> 00:15:36,170
‫berbagai hal, misalnya, kami melihat bahwa tur termudah

295
00:15:36,170 --> 00:15:38,640
‫adalah tur yang mendapatkan peringkat paling

296
00:15:38,640 --> 00:15:41,370
‫buruk dengan 4. 6, sedangkan medium

297
00:15:41,370 --> 00:15:43,980
‫tour adalah yang mendapatkan rating tertinggi.

298
00:15:43,980 --> 00:15:46,750
‫Kita juga bisa melihat bahwa

299
00:15:46,750 --> 00:15:49,620
‫wisata yang sulit adalah yang paling

300
00:15:49,620 --> 00:15:54,520
‫mahal dengan harga rata-rata tahun 1997, sedangkan yang termudah juga

301
00:15:54,520 --> 00:15:58,010
‫yang paling murah dengan harga 1272 kan?

302
00:15:58,010 --> 00:15:59,910
‫Kami juga melihat bahwa tur

303
00:15:59,910 --> 00:16:01,880
‫termudah adalah yang paling banyak kami

304
00:16:01,880 --> 00:16:05,400
‫miliki, jadi empat yang mudah dan hanya dua yang sulit, bukan?

305
00:16:05,400 --> 00:16:07,510
‫Jadi kita bisa menggunakan ini, tentu

306
00:16:07,510 --> 00:16:10,693
‫saja, untuk mendapatkan semua jenis wawasan ke dalam data kita.

307
00:16:12,350 --> 00:16:13,630
‫Ayo komentar

308
00:16:13,630 --> 00:16:16,583
‫yang ini di sini dan coba yang lain,

309
00:16:17,560 --> 00:16:20,130
‫misalnya berdasarkan peringkat, mengapa tidak, mari

310
00:16:20,130 --> 00:16:22,773
‫kita coba, lihat apa yang kita dapatkan.

311
00:16:24,450 --> 00:16:26,310
‫Jadi misalnya, kami memiliki dua tur, jadi pada

312
00:16:26,310 --> 00:16:28,353
‫dasarnya dengan peringkat 4. 5, kami memiliki

313
00:16:29,530 --> 00:16:32,963
‫dua tur dengan 4. 7, satu tur dengan 4. 8, dan

314
00:16:34,040 --> 00:16:37,077
‫tiga tur dengan 4. 9.

315
00:16:37,077 --> 00:16:39,870
‫Oh, dan juga di sini, satu tur dengan 4. 6, jadi misalnya,

316
00:16:39,870 --> 00:16:42,320
‫satu wawasan yang bisa kita dapatkan

317
00:16:42,320 --> 00:16:45,680
‫di sini adalah bahwa tur yang sangat mahal dengan

318
00:16:45,680 --> 00:16:49,103
‫harga rata-rata tahun 1997 ini mendapatkan peringkat yang sangat bagus.

319
00:16:50,260 --> 00:16:55,260
‫Jadi segala macam hal, benar-benar bisa kita lakukan di sini.

320
00:16:55,360 --> 00:16:59,520
‫Mari kita singkirkan yang ini, mari tambahkan yang ini kembali, dan sekarang

321
00:16:59,520 --> 00:17:00,975
‫kita bisa benar-benar

322
00:17:00,975 --> 00:17:03,180
‫genap, melakukan beberapa operasi dengan yang ini.

323
00:17:03,180 --> 00:17:08,180
‫Jadi hanya untuk bersenang-senang, biarkan kesulitan ini menjadi huruf besar.

324
00:17:08,550 --> 00:17:12,370
‫Jadi ini tentu saja, akan menjadi objek lain di sini dan

325
00:17:13,570 --> 00:17:15,810
‫kemudian di depan adalah operatornya.

326
00:17:15,810 --> 00:17:18,873
‫Dan operator dalam hal ini, disebut $toUpper.

327
00:17:21,150 --> 00:17:25,230
‫Jadi, satu lagi operator MongoDB.

328
00:17:25,230 --> 00:17:30,140
‫Jadi periksa, dan sekarang dieja huruf besar.

329
00:17:30,140 --> 00:17:31,290
‫Besar!

330
00:17:31,290 --> 00:17:34,650
‫Jadi kami memiliki babak penyisihan grup di sini yang cukup lengkap.

331
00:17:34,650 --> 00:17:38,180
‫Jadi mari kita coba yang lain yang merupakan tahap pengurutan.

332
00:17:38,180 --> 00:17:42,120
‫Jadi objek lain dalam array kami untuk tahap lain dan

333
00:17:43,250 --> 00:17:45,380
‫yang ini disebut sort.

334
00:17:45,380 --> 00:17:49,070
‫Jadi urutkan dan kemudian di sana, kita membutuhkan objek lain, dan

335
00:17:49,070 --> 00:17:52,190
‫itu menyelesaikan yang ini secara otomatis, saya tidak tahu mengapa,

336
00:17:52,190 --> 00:17:54,860
‫dan di sini kita sekarang dapat menentukan

337
00:17:54,860 --> 00:17:59,183
‫bidang mana yang ingin kita urutkan dan mari kita benar-benar menggunakan harga rata-rata.

338
00:18:00,580 --> 00:18:03,610
‫Dan sekarang di sini dalam penyortiran kita sebenarnya perlu menggunakan

339
00:18:03,610 --> 00:18:06,563
‫nama bidang yang kita tentukan di sini di grup.

340
00:18:07,520 --> 00:18:10,630
‫Kami tidak bisa lagi menggunakan nama-nama lama karena saat ini

341
00:18:10,630 --> 00:18:11,930
‫mereka sudah tidak ada.

342
00:18:11,930 --> 00:18:13,610
‫Mereka tidak ada lagi.

343
00:18:13,610 --> 00:18:16,400
‫Jadi pada titik ini, dalam pipa

344
00:18:16,400 --> 00:18:19,410
‫agregasi, kami benar-benar sudah mendapatkan hasil ini.

345
00:18:19,410 --> 00:18:22,790
‫Jadi ini sekarang dokumen kami pada dasarnya.

346
00:18:22,790 --> 00:18:25,960
‫Jadi jika Anda ingin mengurutkan berdasarkan harga rata-rata, maka

347
00:18:25,960 --> 00:18:28,943
‫ini adalah nama bidang yang harus kita gunakan.

348
00:18:30,530 --> 00:18:33,070
‫Jadi kita dapat mengatakan, harga rata-rata

349
00:18:33,070 --> 00:18:35,793
‫dan kemudian kita dapat mengatakan 1 untuk naik.

350
00:18:37,680 --> 00:18:38,883
‫Jadi mari kita coba itu.

351
00:18:41,550 --> 00:18:43,070
‫Dan ya, memang.

352
00:18:43,070 --> 00:18:46,480
‫Itu yang paling rendah dan itu yang paling tinggi.

353
00:18:46,480 --> 00:18:47,820
‫Besar!

354
00:18:47,820 --> 00:18:50,210
‫Jadi kami melakukan banyak hal.

355
00:18:50,210 --> 00:18:53,480
‫Biarkan saya menunjukkan kepada Anda bahwa kami juga dapat mengulangi tahapan.

356
00:18:53,480 --> 00:18:55,710
‫Jadi mari kita lakukan pertandingan lain di

357
00:18:58,740 --> 00:19:00,930
‫sini dan yang ini benar-benar hanya

358
00:19:00,930 --> 00:19:03,240
‫untuk menunjukkan kepada Anda bahwa kami benar-benar

359
00:19:03,240 --> 00:19:07,130
‫dapat mengulangi tahapan dan saya juga ingin menunjukkan kepada Anda operator lain.

360
00:19:07,130 --> 00:19:11,020
‫Jadi sekarang mari kita pilih berdasarkan id dan ingat id itu

361
00:19:11,020 --> 00:19:12,920
‫sekarang yang sulit, kan?

362
00:19:12,920 --> 00:19:15,023
‫Jadi kami hanya menentukan itu di sini.

363
00:19:16,820 --> 00:19:20,670
‫Jadi kami ingin id dan sekarang operator baru yang

364
00:19:20,670 --> 00:19:22,500
‫belum kami gunakan.

365
00:19:22,500 --> 00:19:26,913
‫Kami ingin itu tidak sama dengan, dan katakanlah mudah.

366
00:19:28,210 --> 00:19:29,830
‫Jadi, seperti ini kita

367
00:19:29,830 --> 00:19:32,260
‫akan memilih semua dokumen yang tidak mudah.

368
00:19:32,260 --> 00:19:33,880
‫Nah, dalam hal

369
00:19:33,880 --> 00:19:36,340
‫ini yang dikatakan sedang dan sulit bukan?

370
00:19:36,340 --> 00:19:41,007
‫Jadi pada dasarnya, tidak termasuk yang mengatakan mudah, bukan?

371
00:19:42,200 --> 00:19:43,790
‫Jadi sekali lagi, ini

372
00:19:43,790 --> 00:19:47,950
‫tidak terlalu berguna di sini karena itu akan menghilangkan banyak data penting kami, tetapi

373
00:19:47,950 --> 00:19:50,090
‫hanya untuk menunjukkan kepada Anda bahwa kami

374
00:19:50,090 --> 00:19:51,980
‫tentu saja dapat mencocokkan beberapa kali.

375
00:19:51,980 --> 00:19:54,750
‫Jadi dalam hal ini, kami mencocokkan satu kali

376
00:19:54,750 --> 00:19:58,160
‫sebelum kami benar-benar melakukan grup dan kemudian kami mencocokkan setelah kami

377
00:19:58,160 --> 00:19:59,475
‫siap, melakukan pengelompokan.

378
00:19:59,475 --> 00:20:01,720
‫Sekarang, mari kita simpan ini di sini,

379
00:20:01,720 --> 00:20:03,798
‫di luar jalur agregasi kita, tapi

380
00:20:03,798 --> 00:20:06,200
‫saya akan meninggalkannya di sini, hanya agar

381
00:20:06,200 --> 00:20:08,200
‫Anda menyimpannya sebagai referensi.

382
00:20:09,580 --> 00:20:12,750
‫Coba lagi, coba lagi, dan inilah

383
00:20:12,750 --> 00:20:14,730
‫hasil kami untuk mendapatkan

384
00:20:14,730 --> 00:20:16,590
‫statistik tur kami.

385
00:20:16,590 --> 00:20:19,030
‫Jadi, sangat bagus, sangat bagus.

386
00:20:19,030 --> 00:20:21,070
‫Saya harap Anda menikmati video

387
00:20:21,070 --> 00:20:23,200
‫ini dan di video berikutnya, kami

388
00:20:23,200 --> 00:20:26,810
‫sebenarnya akan terus menggunakan pipa agregasi untuk melakukan beberapa perhitungan lagi.

389
00:20:26,810 --> 00:20:30,050
‫Dan untuk menunjukkan kepada Anda beberapa tahapan yang lebih berbeda.

390
00:20:30,050 --> 00:20:31,973
‫Jadi pantau terus untuk yang satu itu.

