﻿1
00:00:01,110 --> 00:00:02,420
‫Instruktur Pria: Hei, ada!

2
00:00:02,420 --> 00:00:06,430
‫Jadi sekarang mari kita pelajari cara membaca dokumen dengan Mongoose

3
00:00:06,430 --> 00:00:10,420
‫untuk menerapkan atau mendapatkan tur dan mendapatkan semua penangan

4
00:00:10,420 --> 00:00:11,333
‫rute tur.

5
00:00:13,000 --> 00:00:16,470
‫Dan mulai dengan handler getAllTours.

6
00:00:16,470 --> 00:00:20,210
‫Jadi pertama-tama, mari kita hapus bagian kode ini di sini.

7
00:00:20,210 --> 00:00:21,530
‫Dan sekarang apa

8
00:00:21,530 --> 00:00:24,600
‫yang akan kita lakukan untuk mendapatkan semua tur

9
00:00:24,600 --> 00:00:26,850
‫dari database adalah dengan menggunakan Tour.

10
00:00:26,850 --> 00:00:28,390
‫Jadi model lagi.

11
00:00:28,390 --> 00:00:31,490
‫Di akhir sana, kami menggunakan metode find.

12
00:00:31,490 --> 00:00:32,410
‫Baiklah.

13
00:00:32,410 --> 00:00:35,480
‫Jadi ingat dari persimpangan MongoDB, di mana

14
00:00:35,480 --> 00:00:38,260
‫ketika kita ingin menanyakan semua dokumen,

15
00:00:38,260 --> 00:00:41,010
‫kita cukup menggunakan find, oke?

16
00:00:41,010 --> 00:00:43,670
‫Jadi di sini, itu metode yang sama persis.

17
00:00:43,670 --> 00:00:46,980
‫Dan lagi, ketika kita tidak memasukkan apa pun ke dalamnya,

18
00:00:46,980 --> 00:00:48,760
‫jadi seperti yang kita

19
00:00:48,760 --> 00:00:50,850
‫lakukan di sini, maka itu akan mengembalikan

20
00:00:50,850 --> 00:00:52,660
‫semua dokumen dalam koleksi itu, oke?

21
00:00:52,660 --> 00:00:56,100
‫Jadi dalam hal ini, dalam koleksi wisata jelas.

22
00:00:56,100 --> 00:00:59,260
‫Sekarang sama seperti sebelumnya, ini akan mengembalikan janji yang

23
00:00:59,260 --> 00:01:00,590
‫akan kita tunggu.

24
00:01:00,590 --> 00:01:02,210
‫Dan karena kita ingin

25
00:01:02,210 --> 00:01:04,483
‫menunggu, kita perlu membuat ini menjadi fungsi async.

26
00:01:05,580 --> 00:01:06,760
‫Jadi asinkron.

27
00:01:06,760 --> 00:01:11,760
‫Kemudian disini kita bisa menunggu, dan menyimpan hasilnya ke dalam wisata.

28
00:01:15,550 --> 00:01:16,400
‫Baiklah.

29
00:01:16,400 --> 00:01:17,550
‫Dan itu sebenarnya.

30
00:01:18,720 --> 00:01:22,780
‫Jadi, mari kita singkirkan komentar-komentar ini di sini.

31
00:01:22,780 --> 00:01:25,840
‫Kami juga tidak menginginkan properti yang diminta.

32
00:01:25,840 --> 00:01:28,330
‫Jadi itu hanya untuk pengujian sebelumnya.

33
00:01:28,330 --> 00:01:31,580
‫Dan, ya, saya pikir itu saja.

34
00:01:31,580 --> 00:01:33,810
‫Jadi ini adalah bagaimana kami mendapatkan semua

35
00:01:33,810 --> 00:01:35,610
‫tur dari koleksi Tur.

36
00:01:35,610 --> 00:01:38,900
‫Jadi menggunakan find, lalu menunggu hasil itu,

37
00:01:38,900 --> 00:01:41,280
‫dan kemudian mengirimkannya ke sini.

38
00:01:41,280 --> 00:01:44,520
‫Jadi ingatlah bahwa kami memiliki properti data ini

39
00:01:44,520 --> 00:01:47,670
‫di sini untuk pada dasarnya menyelimuti tur.

40
00:01:47,670 --> 00:01:50,380
‫Dan kemudian kami juga mengirimkan properti ini

41
00:01:50,380 --> 00:01:52,830
‫ke sini, yang hanya mengukur jumlah hasil

42
00:01:52,830 --> 00:01:55,180
‫yang ada di tur, oke.

43
00:01:55,180 --> 00:01:56,013
‫Oke?

44
00:01:56,013 --> 00:01:58,700
‫Karena tentu saja, metode find ini di

45
00:01:58,700 --> 00:02:02,260
‫sini akan mengembalikan larik dari semua dokumen ini, dan

46
00:02:02,260 --> 00:02:04,720
‫juga akan mengubahnya dengan sangat baik

47
00:02:04,720 --> 00:02:06,700
‫menjadi objek JavaScript, oke?

48
00:02:06,700 --> 00:02:09,060
‫Jadi fungsi ini di sini, metode pencarian

49
00:02:09,060 --> 00:02:11,350
‫ini, benar-benar bekerja untuk kita.

50
00:02:11,350 --> 00:02:12,750
‫Sekarang seperti sebelumnya,

51
00:02:12,750 --> 00:02:16,460
‫satu langkah lagi sebelum kita benar-benar dapat mencoba ini,

52
00:02:16,460 --> 00:02:20,030
‫yaitu membungkus semua ini di sini di blok

53
00:02:20,030 --> 00:02:22,673
‫try dan kemudian menangkap potensi kesalahan.

54
00:02:26,160 --> 00:02:26,993
‫Sekarang

55
00:02:26,993 --> 00:02:31,000
‫dalam hal ini, tidak akan ada kesalahan validasi seperti sebelumnya.

56
00:02:31,000 --> 00:02:34,340
‫Tapi mari kita tetap mengirim kesalahan di sini, dalam

57
00:02:34,340 --> 00:02:36,700
‫hal ini, dan buatlah menjadi 404.

58
00:02:36,700 --> 00:02:39,620
‫Dan itu tidak terlalu penting pada saat ini karena sekali

59
00:02:39,620 --> 00:02:41,720
‫lagi, kita akan menerapkan beberapa penanganan kesalahan

60
00:02:41,720 --> 00:02:43,320
‫yang lebih baik di sini

61
00:02:43,320 --> 00:02:46,010
‫di bagian berikutnya, atau di salah satu bagian berikutnya.

62
00:02:46,010 --> 00:02:47,180
‫Baiklah?

63
00:02:47,180 --> 00:02:51,407
‫Jadi mari kita atur di sini ke status: 'fail',

64
00:02:52,640 --> 00:02:57,113
‫dan pesan kesalahan apa pun yang mungkin kita dapatkan di sini.

65
00:02:59,000 --> 00:03:00,010
‫Oke.

66
00:03:00,010 --> 00:03:02,470
‫Jadi, mari kita uji sekarang.

67
00:03:02,470 --> 00:03:04,163
‫Ini dia, Dapatkan Semua Tur.

68
00:03:05,210 --> 00:03:08,920
‫Dan, ya, itu berhasil.

69
00:03:08,920 --> 00:03:12,310
‫Jadi di sini kami memiliki susunan dari tiga tur yang

70
00:03:12,310 --> 00:03:15,140
‫saat ini kami miliki di database kami.

71
00:03:15,140 --> 00:03:15,973
‫Sempurna.

72
00:03:15,973 --> 00:03:19,193
‫Jadi selanjutnya, mari kita implementasikan handler getTour.

73
00:03:20,240 --> 00:03:22,967
‫Jadi mari kita menulis yang berikutnya yang kita miliki di sini.

74
00:03:22,967 --> 00:03:25,330
‫Dan mari kita singkirkan kode ini,

75
00:03:25,330 --> 00:03:27,130
‫dan kode ini.

76
00:03:27,130 --> 00:03:28,470
‫Baiklah.

77
00:03:28,470 --> 00:03:32,650
‫Dan yang ini sebenarnya akan bekerja dengan cara yang sangat mirip.

78
00:03:32,650 --> 00:03:35,203
‫Jadi saya masih melakukan ini coba tangkap di sini.

79
00:03:36,060 --> 00:03:39,570
‫Jadi kesalahan, seperti ini.

80
00:03:39,570 --> 00:03:42,893
‫Karena kami masih menggunakan async waiting dalam hal ini.

81
00:03:43,960 --> 00:03:44,793
‫Jadi asinkron.

82
00:03:46,010 --> 00:03:48,370
‫Karena sekarang untuk menemukan satu

83
00:03:48,370 --> 00:03:53,160
‫tur, kami masih akan menunggu Tur. Temukan.

84
00:03:53,160 --> 00:03:55,240
‫Tapi itu bukan hanya

85
00:03:55,240 --> 00:03:58,250
‫find, tapi kita akan menggunakan findById, oke.

86
00:04:00,990 --> 00:04:05,240
‫Jadi findById, tetapi dari mana ID itu sebenarnya berasal?

87
00:04:05,240 --> 00:04:06,490
‫Ingat bahwa?

88
00:04:06,490 --> 00:04:09,290
‫Jadi mari kita lihat rutenya.

89
00:04:09,290 --> 00:04:11,890
‫Jadi kembali ke Postman, ini

90
00:04:11,890 --> 00:04:14,920
‫adalah bagaimana kita menyebut titik akhir ini,

91
00:04:14,920 --> 00:04:19,080
‫oh, mari kita masukkan ID yang lebih nyata di sini.

92
00:04:19,080 --> 00:04:20,230
‫Jadi, misalnya, yang satu

93
00:04:20,230 --> 00:04:21,573
‫ini dari The Park Camper.

94
00:04:23,490 --> 00:04:27,400
‫Jadi permintaan kami mungkin datang dari rute seperti ini.

95
00:04:27,400 --> 00:04:29,870
‫Jadi di sini, kami memiliki parameter

96
00:04:29,870 --> 00:04:32,660
‫ID ini tepat di rute kami, bukan?

97
00:04:32,660 --> 00:04:35,010
‫Jadi mari kita lihat router kami di sini.

98
00:04:35,010 --> 00:04:37,530
‫Dan ingatlah bahwa ini adalah bagaimana

99
00:04:37,530 --> 00:04:39,730
‫kami menentukannya, ID di URL.

100
00:04:39,730 --> 00:04:44,010
‫Jadi ID ini jelas akan menjadi bagian dari permintaan.

101
00:04:44,010 --> 00:04:47,530
‫Jadi bagaimana sebenarnya kita mendapatkan akses ke ID itu di

102
00:04:47,530 --> 00:04:49,120
‫sini, dan handler ini?

103
00:04:49,120 --> 00:04:51,783
‫Yah, kami melakukan req. parameter, id.

104
00:04:56,250 --> 00:04:57,100
‫Dan itu

105
00:04:57,100 --> 00:05:01,070
‫adalah ID karena itulah yang kami sebut variabel ini di sini, bukan?

106
00:05:01,070 --> 00:05:02,610
‫Jika itu nama di sini, maka

107
00:05:02,610 --> 00:05:06,780
‫di sini kami memiliki req. param nama, kan?

108
00:05:06,780 --> 00:05:07,613
‫Ingat bahwa?

109
00:05:08,960 --> 00:05:12,163
‫Dan sekarang, mari simpan itu untuk tur.

110
00:05:14,020 --> 00:05:14,863
‫Sekarang baik-baik saja.

111
00:05:16,400 --> 00:05:18,733
‫Kemudian mari kita kembalikan kode ini.

112
00:05:20,490 --> 00:05:21,523
‫Salin di sini.

113
00:05:23,420 --> 00:05:25,610
‫Dan kemudian juga yang ini untuk blok kesalahan.

114
00:05:25,610 --> 00:05:27,610
‫Dan jangan khawatir, saya akan menjelaskan fungsi ini

115
00:05:27,610 --> 00:05:28,443
‫sebentar lagi.

116
00:05:28,443 --> 00:05:30,553
‫Saya hanya ingin menyelesaikan kode ini di sini dulu.

117
00:05:32,610 --> 00:05:36,070
‫Jadi potongan kode ini akan sama persis

118
00:05:36,070 --> 00:05:38,070
‫untuk blok catch ini.

119
00:05:38,070 --> 00:05:39,610
‫Simpan sekarang, jadi

120
00:05:39,610 --> 00:05:43,290
‫kami tidak mendapatkan kesalahan di sini dari eslint.

121
00:05:43,290 --> 00:05:46,240
‫Sekarang tentang metode find ID di sini,

122
00:05:46,240 --> 00:05:50,620
‫nah, ingat bagaimana di sini kita baru saja menggunakan find, oke?

123
00:05:50,620 --> 00:05:53,980
‫Jadi find adalah menemukan semua dokumen.

124
00:05:53,980 --> 00:05:56,270
‫Dan kemudian kami juga

125
00:05:56,270 --> 00:06:00,570
‫memiliki findOne untuk menemukan hanya satu dokumen, oke?

126
00:06:00,570 --> 00:06:04,240
‫Jadi findById ini benar-benar hanya singkatan, jadi fungsi pembantu

127
00:06:04,240 --> 00:06:06,323
‫untuk, izinkan saya menulisnya di

128
00:06:07,760 --> 00:06:09,700
‫sini sebagai komentar, untuk menulis

129
00:06:09,700 --> 00:06:11,270
‫findOne, dan

130
00:06:13,740 --> 00:06:15,920
‫kemudian dengan objek filter, yang

131
00:06:15,920 --> 00:06:17,610
‫persis seperti yang kita

132
00:06:17,610 --> 00:06:19,407
‫pelajari di persimpangan MongoDB.

133
00:06:21,030 --> 00:06:23,190
‫Jadi kami memiliki bidang ID.

134
00:06:23,190 --> 00:06:28,190
‫Dan kemudian kita bisa mengaturnya ke req. param Indo.

135
00:06:28,670 --> 00:06:33,153
‫Jadi ini di sini akan bekerja dengan cara yang sama persis seperti ini, oke?

136
00:06:34,510 --> 00:06:39,510
‫Jadi _id, karena IDnya seperti itu.

137
00:06:39,740 --> 00:06:41,497
‫Jadi MongoDB disebut _id.

138
00:06:42,842 --> 00:06:45,950
‫Dan tentu saja kita bisa menanyakan bidang itu, bukan?

139
00:06:45,950 --> 00:06:49,410
‫Kami melakukan hal itu di bagian terakhir.

140
00:06:49,410 --> 00:06:52,980
‫Jadi kami menentukan objek filter ini di sini,

141
00:06:52,980 --> 00:06:55,920
‫lalu properti yang kami cari,

142
00:06:55,920 --> 00:06:58,990
‫dan kemudian nilai yang ingin kami cari.

143
00:06:58,990 --> 00:07:02,570
‫Jadi persis sama lagi, seperti yang kita lakukan di bagian terakhir.

144
00:07:02,570 --> 00:07:04,360
‫Dan metode findOne ini

145
00:07:04,360 --> 00:07:07,710
‫di sini hanya akan mengembalikan salah satu dokumen.

146
00:07:07,710 --> 00:07:10,140
‫Sekarang findById ini, seperti yang

147
00:07:10,140 --> 00:07:14,050
‫saya sebutkan sebelumnya, hanyalah singkatan karena harus menulis ini.

148
00:07:14,050 --> 00:07:17,440
‫Jadi di belakang layar, itu akan melakukan hal ini.

149
00:07:17,440 --> 00:07:20,640
‫Tapi luwak hanya ingin membuat hidup kita lebih mudah.

150
00:07:20,640 --> 00:07:23,610
‫Dan karena itu, memberi kami akses ke metode

151
00:07:23,610 --> 00:07:25,230
‫yang lebih mudah

152
00:07:25,230 --> 00:07:28,773
‫yang disebut findById, yang hanya mengharapkan ID yang kami cari.

153
00:07:29,950 --> 00:07:31,070
‫Baiklah?

154
00:07:31,070 --> 00:07:34,170
‫Jadi biarkan saya benar-benar meninggalkannya di sini, hanya sebagai referensi.

155
00:07:34,170 --> 00:07:36,513
‫Dan sekarang, ini akan benar-benar berhasil.

156
00:07:37,930 --> 00:07:39,720
‫Jadi, mari kita lihat itu.

157
00:07:39,720 --> 00:07:43,030
‫Jadi kami sudah memasang ID tur ini.

158
00:07:43,030 --> 00:07:45,730
‫Saya pikir itu Park Camper ini.

159
00:07:45,730 --> 00:07:47,003
‫Jadi ac2.

160
00:07:48,170 --> 00:07:51,140
‫Dan ac2, itu seharusnya The Park Camper,

161
00:07:51,140 --> 00:07:52,763
‫dan memang begitu.

162
00:07:53,620 --> 00:07:54,640
‫Besar.

163
00:07:54,640 --> 00:07:57,620
‫Dan itu adalah cara termudah untuk menemukan

164
00:07:57,620 --> 00:08:00,400
‫atau menanyakan dokumen dari database.

165
00:08:00,400 --> 00:08:04,060
‫Ada banyak lagi yang bisa kita lakukan dengan kueri, dan

166
00:08:04,060 --> 00:08:05,530
‫kita akan melakukan

167
00:08:05,530 --> 00:08:08,390
‫semua itu setelah kita mulai menerapkan sesuatu

168
00:08:08,390 --> 00:08:10,770
‫seperti pemfilteran atau pengurutan atau pagination,

169
00:08:10,770 --> 00:08:14,420
‫dan semua hal bagus itu nanti di bagian ini, jadi

170
00:08:14,420 --> 00:08:16,340
‫dalam beberapa video dari sekarang.

171
00:08:16,340 --> 00:08:17,310
‫Namun,

172
00:08:17,310 --> 00:08:21,650
‫pada titik ini, cukup mengembalikan semua dokumen di sini di

173
00:08:21,650 --> 00:08:22,960
‫pengendali rute ini.

174
00:08:22,960 --> 00:08:26,460
‫Dan kemudian di sini, cukup satu untuk ID yang cocok.

175
00:08:26,460 --> 00:08:27,550
‫Dan itu berhasil

176
00:08:27,550 --> 00:08:29,773
‫sekarang, jadi mari kita beralih ke yang berikutnya.

