﻿1
00:00:01,110 --> 00:00:02,910
‫Instruktur: Jadi, ini adalah

2
00:00:02,910 --> 00:00:05,230
‫bagian kedua dari penghitungan statistik tinjauan.

3
00:00:05,230 --> 00:00:08,873
‫Kali ini, ketika ulasan diperbarui atau dihapus.

4
00:00:10,780 --> 00:00:13,310
‫Dan bagian ini sebenarnya sedikit

5
00:00:13,310 --> 00:00:15,450
‫lebih sulit karena, perlu

6
00:00:15,450 --> 00:00:17,730
‫diingat bahwa review diperbarui

7
00:00:19,829 --> 00:00:21,246
‫atau dihapus

8
00:00:25,490 --> 00:00:28,277
‫menggunakan findByIdAndUpdate atau juga findByIdAndDelete, kan?

9
00:00:33,540 --> 00:00:37,020
‫Jadi untuk ini, kami sebenarnya tidak memiliki middleware

10
00:00:37,020 --> 00:00:39,830
‫dokumen, tetapi hanya middleware kueri, oke.

11
00:00:39,830 --> 00:00:42,630
‫Jadi dalam kueri, kami sebenarnya tidak memiliki

12
00:00:42,630 --> 00:00:46,140
‫akses langsung ke dokumen untuk kemudian melakukan sesuatu yang

13
00:00:46,140 --> 00:00:48,300
‫mirip dengan ini, oke.

14
00:00:48,300 --> 00:00:51,380
‫Karena, ingat, kita perlu akses ke tinjauan saat

15
00:00:51,380 --> 00:00:54,130
‫ini, sehingga dari sana, kita dapat mengekstrak

16
00:00:54,130 --> 00:00:58,030
‫ID tur, dan kemudian menghitung statistik dari sana, kan, tetapi sekali

17
00:00:58,030 --> 00:01:00,130
‫lagi, untuk kait ini di

18
00:01:00,130 --> 00:01:02,830
‫sini, kami hanya memiliki middleware kueri, oke.

19
00:01:02,830 --> 00:01:04,890
‫Tapi izinkan saya sekarang menunjukkan

20
00:01:04,890 --> 00:01:07,610
‫trik yang bagus untuk benar-benar mengatasi batasan ini.

21
00:01:07,610 --> 00:01:10,040
‫Jadi, kita akan mengimplementasikan

22
00:01:10,040 --> 00:01:14,073
‫pra-middleware untuk hook ini, untuk event ini pada dasarnya.

23
00:01:15,860 --> 00:01:19,730
‫Jadi sebelum, dan sekali lagi saya akan menggunakan

24
00:01:19,730 --> 00:01:22,870
‫ekspresi reguler untuk string yang dimulai dengan

25
00:01:22,870 --> 00:01:25,457
‫findOneAnd dan hanya itu.

26
00:01:28,641 --> 00:01:30,410
‫Jadi yang

27
00:01:30,410 --> 00:01:33,970
‫ini kemudian akan berfungsi untuk findOneAndUpdate,

28
00:01:34,830 --> 00:01:37,150
‫dan findOneAndDelete karena, ingatlah

29
00:01:37,150 --> 00:01:40,480
‫bahwa di balik layar, findByIdAndUpdate hanyalah

30
00:01:40,480 --> 00:01:44,750
‫singkatan untuk findOneAndUpdate dengan ID saat ini, kan.

31
00:01:44,750 --> 00:01:48,530
‫Jadi di sini, kita sebenarnya perlu

32
00:01:48,530 --> 00:01:52,833
‫menggunakan hook middleware findOneAndDelete dan findOneAndUpdate, oke.

33
00:01:55,500 --> 00:01:59,970
‫Jadi, fungsi, dan itu mendapat kata kunci berikutnya

34
00:01:59,970 --> 00:02:02,420
‫karena itu adalah pra-middleware.

35
00:02:02,420 --> 00:02:05,310
‫Jadi, ingat bahwa tujuannya adalah untuk mendapatkan akses

36
00:02:05,310 --> 00:02:07,990
‫ke dokumen tinjauan saat ini, oke, tapi

37
00:02:07,990 --> 00:02:11,280
‫di sini, kata kunci ini adalah kueri saat ini.

38
00:02:11,280 --> 00:02:13,650
‫Sekarang, bagaimana kita akan menyiasatinya?

39
00:02:13,650 --> 00:02:16,150
‫Yah, pada dasarnya kita dapat menjalankan kueri,

40
00:02:16,150 --> 00:02:18,200
‫dan kemudian itu akan memberi kita

41
00:02:18,200 --> 00:02:20,040
‫dokumen yang sedang diproses.

42
00:02:20,040 --> 00:02:22,650
‫Jadi untuk melakukan itu, kita bisa menggunakan findOne.

43
00:02:25,590 --> 00:02:26,590
‫Dan itu saja.

44
00:02:26,590 --> 00:02:29,740
‫Jadi yang perlu kita lakukan hanyalah menunggu kueri ini dan kemudian

45
00:02:29,740 --> 00:02:31,090
‫menyimpannya di suatu tempat.

46
00:02:34,140 --> 00:02:38,850
‫Jadi sebut saja r, yang akan berdiri untuk ditinjau, oke.

47
00:02:38,850 --> 00:02:40,763
‫Kemudian simpan sebagai async.

48
00:02:42,650 --> 00:02:43,773
‫Dan, itu saja.

49
00:02:45,000 --> 00:02:47,830
‫Dan hanya untuk memastikan bahwa ini

50
00:02:47,830 --> 00:02:52,340
‫berfungsi di sini, mari kita log ini ke konsol, oke.

51
00:02:52,340 --> 00:02:55,080
‫Jadi tanpa melakukan perhitungan apa pun,

52
00:02:55,080 --> 00:02:56,760
‫kami hanya tertarik

53
00:02:56,760 --> 00:02:59,960
‫untuk melihat apakah trik bagus ini berhasil.

54
00:02:59,960 --> 00:03:02,410
‫Jadi pada dasarnya, trik untuk menyiasatinya di

55
00:03:02,410 --> 00:03:04,070
‫midddleware kueri, kami

56
00:03:04,070 --> 00:03:05,853
‫hanya memiliki akses ke kueri.

57
00:03:06,890 --> 00:03:09,850
‫Jadi sekali lagi, kita perlu mendapatkan akses ke

58
00:03:09,850 --> 00:03:13,210
‫dokumen, jadi pada dasarnya kita menjalankan kueri ini dengan

59
00:03:13,210 --> 00:03:14,463
‫menggunakan findOne.

60
00:03:15,620 --> 00:03:20,603
‫Baiklah, jadi mari kita perbarui ulasan, jadi mari kita perbarui

61
00:03:22,570 --> 00:03:26,313
‫yang terakhir yang kita lakukan, baiklah, dan peringkatnya,

62
00:03:31,310 --> 00:03:33,050
‫sekarang mari

63
00:03:33,050 --> 00:03:35,010
‫kita atur menjadi empat.

64
00:03:35,010 --> 00:03:37,080
‫Jadi sebelumnya lima

65
00:03:38,130 --> 00:03:42,023
‫dan sekarang kami mengubahnya menjadi empat.

66
00:03:43,040 --> 00:03:44,083
‫Jadi

67
00:03:46,900 --> 00:03:50,620
‫dikirim itu, dan ini ulasannya.

68
00:03:50,620 --> 00:03:53,140
‫Sekarang tentu saja, peringkatnya masih ditetapkan

69
00:03:53,140 --> 00:03:56,130
‫ke lima saat ini, karena findOne ini di

70
00:03:56,130 --> 00:03:58,850
‫sini benar-benar mendapatkan dokumen dari database, dan

71
00:03:58,850 --> 00:04:01,660
‫pada saat ini, di pra, masih tidak

72
00:04:01,660 --> 00:04:04,900
‫ada perubahan apa pun pada database, dan jadi

73
00:04:04,900 --> 00:04:06,540
‫itu lima sebelumnya,

74
00:04:06,540 --> 00:04:08,990
‫dan sekarang masih akan menjadi lima.

75
00:04:08,990 --> 00:04:10,460
‫Tapi itu tidak terlalu

76
00:04:10,460 --> 00:04:13,750
‫penting di sini karena yang kami minati hanyalah ID ini.

77
00:04:13,750 --> 00:04:16,580
‫Sebenarnya, ID tur ini, kan, karena

78
00:04:16,580 --> 00:04:18,350
‫itulah yang akan

79
00:04:18,350 --> 00:04:21,220
‫kita perlukan untuk menghitung peringkat rata-rata.

80
00:04:21,220 --> 00:04:24,363
‫Oke, dan sekarang, mari kita benar-benar menggunakan fungsi itu.

81
00:04:25,240 --> 00:04:27,850
‫Oke, sekarang, mari kita pikirkan

82
00:04:27,850 --> 00:04:32,190
‫hal ini karena jika kita menggunakan fungsi calcAverageRatings ini

83
00:04:32,190 --> 00:04:33,850
‫pada saat

84
00:04:33,850 --> 00:04:36,100
‫ini, maka kita akan menghitung

85
00:04:36,100 --> 00:04:39,490
‫statistik menggunakan data yang tidak diperbarui, oke.

86
00:04:39,490 --> 00:04:42,390
‫Dan itulah alasan yang sama mengapa sampai

87
00:04:42,390 --> 00:04:45,400
‫di sini, kita juga perlu menggunakan post dan

88
00:04:45,400 --> 00:04:48,650
‫bukan pre, oke, karena hanya setelah dokumen sudah

89
00:04:48,650 --> 00:04:50,620
‫disimpan ke database masuk

90
00:04:50,620 --> 00:04:52,850
‫akal untuk kemudian menghitung peringkatnya.

91
00:04:52,850 --> 00:04:55,570
‫Jadi di sini, ini adalah hal yang sama

92
00:04:55,570 --> 00:04:58,650
‫persis, dengan perbedaan besar bahwa kita tidak bisa begitu

93
00:04:58,650 --> 00:05:00,533
‫saja mengubah pra-posting ini.

94
00:05:01,390 --> 00:05:04,500
‫Jadi kami tidak dapat melakukannya karena saat ini

95
00:05:04,500 --> 00:05:07,260
‫kami tidak lagi memiliki akses ke kueri

96
00:05:07,260 --> 00:05:10,410
‫karena kueri telah dieksekusi, kan, dan tanpa kueri,

97
00:05:10,410 --> 00:05:11,500
‫kami tidak

98
00:05:11,500 --> 00:05:13,670
‫dapat menyimpan dokumen tinjauan, dan

99
00:05:13,670 --> 00:05:16,410
‫kami tidak dapat menjalankan fungsi ini.

100
00:05:16,410 --> 00:05:20,360
‫Jadi, ini benar-benar membingungkan, saya mengerti, tetapi saya benar-benar memutuskan untuk

101
00:05:20,360 --> 00:05:23,710
‫membuat kuliah ini dengan cara ini karena, yah, ini

102
00:05:23,710 --> 00:05:25,790
‫benar-benar satu-satunya solusi untuk

103
00:05:25,790 --> 00:05:28,730
‫masalah ini, dan ini adalah latihan yang sangat

104
00:05:28,730 --> 00:05:32,240
‫bagus bagi Anda untuk memahami Hello Experience ini pada dasarnya.

105
00:05:32,240 --> 00:05:35,833
‫Jadi, solusi untuk ini adalah sekarang gunakan post,

106
00:05:37,520 --> 00:05:40,690
‫jadi, reviewSchema, maka pada dasarnya sama,

107
00:05:40,690 --> 00:05:44,460
‫jadi mari, sebenarnya, mari kita salin semua ini,

108
00:05:44,460 --> 00:05:47,640
‫buat hidup kita sedikit lebih mudah, singkirkan

109
00:05:47,640 --> 00:05:50,033
‫ini, dan singkirkan lanjut.

110
00:05:51,850 --> 00:05:54,320
‫Di sini, kita juga perlu

111
00:05:54,320 --> 00:05:58,170
‫menelepon selanjutnya, oke, tapi kemudian kita lakukan posting, oke.

112
00:05:58,170 --> 00:05:59,730
‫Dan sekarang titik

113
00:05:59,730 --> 00:06:01,840
‫waktu ini, jadi setelah kueri selesai,

114
00:06:01,840 --> 00:06:04,700
‫dan oleh karena itu tinjauan telah diperbarui, ini adalah

115
00:06:04,700 --> 00:06:06,290
‫titik waktu yang tepat di

116
00:06:06,290 --> 00:06:08,283
‫mana kita dapat memanggil fungsi ini.

117
00:06:09,510 --> 00:06:12,720
‫Jadi, hitung peringkat rata-rata.

118
00:06:12,720 --> 00:06:15,930
‫Tapi dari mana kita sekarang mendapatkan ID tur?

119
00:06:15,930 --> 00:06:17,860
‫Nah, kita harus menggunakan trik

120
00:06:17,860 --> 00:06:21,260
‫yang pada dasarnya untuk melewatkan data dari pre-middleware

121
00:06:21,260 --> 00:06:23,000
‫ke post middleware.

122
00:06:23,000 --> 00:06:26,690
‫Jadi alih-alih menyimpan dokumen ini ke variabel sederhana, kita

123
00:06:26,690 --> 00:06:30,403
‫akan menyimpannya ke ini. R.

124
00:06:31,750 --> 00:06:35,773
‫Jadi pada dasarnya, kami membuat properti pada variabel ini.

125
00:06:36,700 --> 00:06:40,390
‫Oke, dan sekarang di sini, kita masih memiliki akses ke sana.

126
00:06:40,390 --> 00:06:45,350
‫Dan sekarang, kita bisa mengatakan ini. r, yang ingat adalah review, dan

127
00:06:45,350 --> 00:06:47,603
‫kemudian . wisata.

128
00:06:49,220 --> 00:06:53,300
‫Jadi, ini sekali lagi cukup membingungkan, tetapi sekali

129
00:06:53,300 --> 00:06:56,850
‫lagi juga cukup menyenangkan setelah Anda memahami

130
00:06:56,850 --> 00:06:58,873
‫cara kerjanya, oke.

131
00:06:59,800 --> 00:07:03,200
‫Sekarang, sekali lagi, kita membutuhkan sesuatu seperti ini di

132
00:07:03,200 --> 00:07:06,320
‫sini untuk benar-benar memanggil fungsi ini di sini

133
00:07:06,320 --> 00:07:08,460
‫karena ingat bahwa ini

134
00:07:08,460 --> 00:07:12,570
‫sebenarnya adalah metode statis, jadi kita perlu memanggilnya pada model.

135
00:07:12,570 --> 00:07:15,500
‫Sekarang di mana model ini dalam kasus ini?

136
00:07:15,500 --> 00:07:20,500
‫Nah, itu di ini. r, yang dalam hal ini,

137
00:07:20,848 --> 00:07:22,550
‫setara dengan this

138
00:07:22,550 --> 00:07:25,113
‫this here di middleware ini,. konstruktor. calcAverageRatings.

139
00:07:26,427 --> 00:07:29,217
‫Woo, itu terlihat sangat luar biasa, bukan?

140
00:07:31,860 --> 00:07:35,403
‫Tentu kita harus menunggu, makanya kita mendeklarasikan ini

141
00:07:36,600 --> 00:07:38,100
‫sebagai async, oke.

142
00:07:38,100 --> 00:07:42,600
‫Jadi, sekali lagi, kami pada dasarnya menggunakan cara ini untuk

143
00:07:42,600 --> 00:07:46,210
‫meneruskan data dari pra-middleware ke middleware pasca, dan

144
00:07:46,210 --> 00:07:48,530
‫kemudian di sini kami

145
00:07:48,530 --> 00:07:50,930
‫mengambil dokumen tinjauan dari variabel ini.

146
00:07:50,930 --> 00:07:55,060
‫Oke, dan sekali lagi, kami memang harus melakukannya dengan cara

147
00:07:55,060 --> 00:07:59,970
‫ini karena pada titik waktu ini di sini, kueri sudah dieksekusi,

148
00:07:59,970 --> 00:08:01,317
‫jadi kami

149
00:08:01,317 --> 00:08:03,550
‫tidak dapat melakukannya di sini.

150
00:08:03,550 --> 00:08:06,783
‫Dan mari kita benar-benar

151
00:08:11,950 --> 00:08:16,753
‫menuliskannya; TIDAK berfungsi di sini, kueri telah dieksekusi.

152
00:08:19,690 --> 00:08:21,253
‫Hebat, dan dengan ini, kita sebenarnya sekarang

153
00:08:22,610 --> 00:08:24,130
‫harus siap untuk menguji ini.

154
00:08:24,130 --> 00:08:27,103
‫Jadi mari kita lanjutkan dan perbarui

155
00:08:28,100 --> 00:08:32,850
‫yang ini di sini sekali lagi, dan atur ke peringkat satu, oke.

156
00:08:32,850 --> 00:08:37,493
‫Yuk sekarang kita lihat di sini, sampai lihat jumlah ratingnya

157
00:08:39,160 --> 00:08:41,060
‫masih lima, tapi rata-rata

158
00:08:41,060 --> 00:08:44,020
‫sekarang hanya tiga, dan sekarang pertanyaannya

159
00:08:44,020 --> 00:08:46,620
‫apakah ini benar-benar diperbarui juga

160
00:08:46,620 --> 00:08:49,220
‫di tur, dan, ya, memang

161
00:08:49,220 --> 00:08:50,593
‫benar .

162
00:08:53,740 --> 00:08:58,150
‫Jadi, lima peringkat dengan rata-rata tiga.

163
00:08:58,150 --> 00:09:02,040
‫Hebat, sekarang mari kita perbarui yang lain.

164
00:09:02,040 --> 00:09:06,220
‫Jadi, untuk itu, mari dapatkan semua ulasan kami,

165
00:09:06,220 --> 00:09:09,543
‫dan sebenarnya kami tidak menginginkan semuanya,

166
00:09:11,570 --> 00:09:14,280
‫tetapi hanya yang terakhir.

167
00:09:14,280 --> 00:09:16,201
‫Dan di sini saya masih

168
00:09:16,201 --> 00:09:18,730
‫memiliki filter ini, jadi saya harus membuangnya,

169
00:09:18,730 --> 00:09:20,253
‫jadi kami mendapatkan

170
00:09:21,650 --> 00:09:26,650
‫semua 65 hasil, jadi semua ulasan ini, tapi kami hanya ingin yang terakhir,

171
00:09:26,980 --> 00:09:29,280
‫jadi yang baru saja kami buat.

172
00:09:29,280 --> 00:09:31,073
‫Jadi mari kita perbarui ...

173
00:09:32,820 --> 00:09:34,160
‫Saya tidak yakin, karena sebenarnya mereka tidak teratur di sini.

174
00:09:37,570 --> 00:09:42,090
‫Ayo, oke, jadi di sini kita punya yang terbaru.

175
00:09:42,090 --> 00:09:47,090
‫Jadi izinkan saya sekarang memperbarui yang ini di sini, katakanlah,

176
00:09:47,490 --> 00:09:50,963
‫empat, hanya sebagai tes akhir, dan itu

177
00:09:56,540 --> 00:09:59,410
‫akan membawa rata-rata sedikit naik.

178
00:09:59,410 --> 00:10:01,173
‫Dan memang benar.

179
00:10:02,490 --> 00:10:04,090
‫Jadi, 3. 6 sekarang, dan tentu saja, jumlahnya

180
00:10:04,090 --> 00:10:07,400
‫masih lima karena Anda tidak menambahkan ulasan baru.

181
00:10:07,400 --> 00:10:10,400
‫Jadi ini berfungsi dengan baik pada pembaruan, mari

182
00:10:10,400 --> 00:10:12,700
‫sekarang juga mengujinya dengan menghapus.

183
00:10:12,700 --> 00:10:15,463
‫Jadi mari kita lanjutkan dan hapus

184
00:10:17,470 --> 00:10:21,710
‫ulasan yang baru saja kita perbarui dan sekarang kita harus

185
00:10:23,350 --> 00:10:26,860
‫turun menjadi hanya empat, dan memang, inilah kita.

186
00:10:26,860 --> 00:10:28,550
‫Jadi sekarang tinggal empat.

187
00:10:28,550 --> 00:10:30,100
‫Dan mari kita benar-benar menghapus semuanya.

188
00:10:30,100 --> 00:10:32,053
‫Jadi, yang ini berikutnya.

189
00:10:35,410 --> 00:10:36,723
‫Ah, di sinilah kita.

190
00:10:45,038 --> 00:10:46,180
‫Kemudian juga yang ini.

191
00:10:46,180 --> 00:10:47,303
‫Jadi, sekarang

192
00:10:53,560 --> 00:10:55,760
‫kita harus turun menjadi tiga saja

193
00:10:56,970 --> 00:11:00,350
‫atau, sebenarnya, kita hanya tinggal dua dengan rata-rata empat.

194
00:11:00,350 --> 00:11:01,893
‫Jadi mari kita lihat mana yang masih tersisa.

195
00:11:05,600 --> 00:11:08,300
‫Jadi yang ini dengan tiga dan yang ini dengan lima.

196
00:11:08,300 --> 00:11:12,330
‫Dan itulah mengapa kami memiliki rata-rata empat ini.

197
00:11:12,330 --> 00:11:15,203
‫Jadi mari kita singkirkan yang ini dan sekarang rata-rata

198
00:11:19,210 --> 00:11:21,320
‫kita seharusnya menjadi lima, bukan?

199
00:11:21,320 --> 00:11:25,020
‫Atau sebenarnya tiga karena yang tersisa

200
00:11:25,020 --> 00:11:26,340
‫hanya tiga.

201
00:11:26,340 --> 00:11:29,340
‫Dan sekarang tes terakhir, menghapus yang terakhir,

202
00:11:29,340 --> 00:11:33,350
‫hanya untuk melihat apa yang akan terjadi setelah kita melakukannya.

203
00:11:33,350 --> 00:11:35,993
‫Dan, kami mendapatkan kesalahan di sini.

204
00:11:41,070 --> 00:11:42,530
‫Jadi, tidak dapat membaca properti nRating dari undefined.

205
00:11:42,530 --> 00:11:46,400
‫Jadi itulah calcAverageRatings pada baris nomor 69.

206
00:11:46,400 --> 00:11:50,683
‫Jadi, tidak tahu apa ini.

207
00:11:53,280 --> 00:11:54,903
‫Jadi, baris 69, dan ini masalahnya di sini.

208
00:11:55,760 --> 00:12:00,440
‫Jadi kami mencoba membaca nRating dari undefined.

209
00:12:00,440 --> 00:12:03,530
‫Jadi statistik nol pada dasarnya tidak terdefinisi.

210
00:12:03,530 --> 00:12:06,420
‫Dan itu karena jika pada dasarnya tidak ada

211
00:12:06,420 --> 00:12:09,400
‫dokumen yang cocok dengan kueri ini di sini, maka

212
00:12:09,400 --> 00:12:11,780
‫kita cukup mendapatkan kembali array kosong.

213
00:12:11,780 --> 00:12:13,947
‫Dan itulah sebenarnya yang kita miliki di sini.

214
00:12:13,947 --> 00:12:17,100
‫Jadi ini adalah array stats dan saat ini tidak

215
00:12:17,100 --> 00:12:19,350
‫ada hasilnya, oke, jadi kita

216
00:12:19,350 --> 00:12:22,630
‫hanya boleh mengeksekusi potongan kode ini di sini setiap

217
00:12:22,630 --> 00:12:25,500
‫kali kita benar-benar memiliki sesuatu di array stats.

218
00:12:25,500 --> 00:12:28,653
‫Jadi mari kita lakukan itu.

219
00:12:29,810 --> 00:12:30,903
‫Jadi jika statistik. panjangnya lebih

220
00:12:31,760 --> 00:12:36,760
‫besar dari nol, lalu lakukan ini.

221
00:12:40,090 --> 00:12:42,623
‫Dan jika tidak, yah, pada dasarnya itu

222
00:12:45,450 --> 00:12:48,100
‫berarti semua ulasan kami hilang, maka pada dasarnya

223
00:12:48,100 --> 00:12:50,260
‫kami ingin kembali ke default.

224
00:12:50,260 --> 00:12:54,280
‫Jadi kita akan mengaturnya

225
00:12:54,280 --> 00:12:58,780
‫ke jumlah nol dan rata-rata 4. 5, yang perlu diingat, adalah default ketika tidak ada

226
00:12:58,780 --> 00:13:02,030
‫ulasan sama sekali.

227
00:13:02,030 --> 00:13:04,943
‫Jadi mari kita cepat membuat review baru,

228
00:13:08,540 --> 00:13:10,823
‫dan bisa jadi ini, oke, jadi

229
00:13:12,200 --> 00:13:13,150
‫kita kembali

230
00:13:15,880 --> 00:13:19,400
‫memiliki satu rating, dan sekarang langsung menghapusnya, hanya untuk

231
00:13:19,400 --> 00:13:20,780
‫menguji potongan kode

232
00:13:20,780 --> 00:13:24,963
‫yang baru saja kita tulis, hanya untuk melihatnya di sini juga,

233
00:13:28,080 --> 00:13:30,310
‫jadi satu peringkat, rata-rata lima.

234
00:13:30,310 --> 00:13:32,573
‫Dan sekarang ketika kami menghapusnya,

235
00:13:33,850 --> 00:13:36,113
‫kami tidak lagi mendapatkan kesalahan.

236
00:13:38,910 --> 00:13:41,790
‫Dan dalam tur kami,

237
00:13:41,790 --> 00:13:45,630
‫kami kembali ke nol dan default 4. 5.

238
00:13:45,630 --> 00:13:48,450
‫Baiklah, baiklah, baiklah, sempurna.

239
00:13:48,450 --> 00:13:51,560
‫Jadi mari kita luangkan waktu sebentar di

240
00:13:51,560 --> 00:13:54,920
‫sini untuk merangkum apa yang baru saja kita lakukan.

241
00:13:54,920 --> 00:13:57,090
‫Jadi untuk dapat menjalankan fungsi

242
00:13:57,090 --> 00:13:59,970
‫ini di sini juga saat memperbarui dan menghapus, kita

243
00:13:59,970 --> 00:14:02,320
‫sebenarnya perlu menggunakan middleware kueri yang diberikan

244
00:14:02,320 --> 00:14:04,590
‫Mongoose kepada kita untuk situasi ini.

245
00:14:04,590 --> 00:14:07,110
‫Oke, jadi, kami tidak memiliki middleware

246
00:14:07,110 --> 00:14:11,230
‫dokumen praktis, yang berfungsi, untuk fungsi-fungsi ini, tetapi sebaliknya kami

247
00:14:11,230 --> 00:14:13,140
‫perlu menggunakan middleware

248
00:14:13,140 --> 00:14:15,880
‫kueri, dan di dalamnya, kami tidak

249
00:14:15,880 --> 00:14:18,660
‫memiliki akses langsung ke dokumen saat ini.

250
00:14:18,660 --> 00:14:20,090
‫Jadi kita perlu

251
00:14:20,090 --> 00:14:21,540
‫mengatasinya dengan menggunakan findOne ini

252
00:14:21,540 --> 00:14:24,870
‫di sini, dan pada dasarnya mengambil dokumen saat ini dari database.

253
00:14:24,870 --> 00:14:27,340
‫Kami kemudian menyimpannya pada variabel kueri

254
00:14:27,340 --> 00:14:30,450
‫saat ini, dan begitulah ini, dan dengan melakukan itu, kami

255
00:14:30,450 --> 00:14:32,950
‫kemudian mendapatkan akses ke sana di middleware pos.

256
00:14:32,950 --> 00:14:36,480
‫Dan kemudian hanya di middleware pos di mana kami

257
00:14:36,480 --> 00:14:38,610
‫benar-benar menghitung statistik untuk ulasan.

258
00:14:38,610 --> 00:14:42,500
‫Dan ingat bahwa kami melakukannya dengan cara ini karena jika

259
00:14:42,500 --> 00:14:44,370
‫kami melakukannya dengan benar

260
00:14:44,370 --> 00:14:47,380
‫di fungsi middleware ini, maka data yang mendasarinya

261
00:14:47,380 --> 00:14:50,100
‫tidak akan diperbarui pada saat itu

262
00:14:50,100 --> 00:14:53,150
‫dan statistik yang dihitung tidak akan benar-benar mutakhir.

263
00:14:53,150 --> 00:14:55,150
‫Dan itulah mengapa kami menggunakan proses dua langkah

264
00:14:55,150 --> 00:14:56,540
‫ini di sini pada dasarnya.

265
00:14:56,540 --> 00:14:58,963
‫Sekarang, mari kita singkirkan konsol ini. log di sini, karena kita sudah selesai sekarang, dan

266
00:15:00,020 --> 00:15:02,220
‫juga statistik ini.

267
00:15:03,130 --> 00:15:06,883
‫Jadi, saya harap ini menyenangkan bagi Anda

268
00:15:08,270 --> 00:15:11,390
‫dan tidak terlalu berlebihan.

269
00:15:11,390 --> 00:15:13,890
‫Saya merancang latihan ini secara khusus sehingga

270
00:15:13,890 --> 00:15:16,390
‫kita dapat memecahkan masalah bisnis dunia nyata

271
00:15:16,390 --> 00:15:19,270
‫dengan menggunakan semua alat yang diberikan Mongoose kepada kita.

272
00:15:19,270 --> 00:15:22,150
‫Jadi, dengan itu, saya harap Anda belajar sedikit lebih

273
00:15:22,150 --> 00:15:24,500
‫baik bagaimana bekerja dengan semua middleware yang

274
00:15:24,500 --> 00:15:26,980
‫berbeda ini dalam situasi yang berbeda kapan pun

275
00:15:26,980 --> 00:15:29,220
‫dibutuhkan dalam situasi dunia nyata.

276
00:15:29,220 --> 00:15:31,640
‫Jadi, pekerjaan yang bagus untuk menyelesaikan kuliah

277
00:15:31,640 --> 00:15:35,700
‫yang cukup menantang ini dan karena masih bersama saya pada titik kursus ini.

278
00:15:35,700 --> 00:15:39,030
‫Sangat bagus untuk saya lihat, jadi saya sangat

279
00:15:39,030 --> 00:15:40,594
‫senang tentang itu.

280
00:15:40,594 --> 00:15:43,500
‫Tapi bagaimanapun, masih ada beberapa konten hebat lainnya

281
00:15:43,500 --> 00:15:46,780
‫yang muncul di bagian ini, jadi mari kita lanjutkan bersama-sama,

282
00:15:46,780 --> 00:15:48,290
‫langsung ke video berikutnya.

