﻿1
00:00:01,110 --> 00:00:02,900
‫Guru: Jadi ingat bagaimana

2
00:00:02,900 --> 00:00:05,510
‫dalam video tentang model data kami, kami

3
00:00:05,510 --> 00:00:07,880
‫mengatakan bahwa kami dapat menyematkan atau mereferensikan

4
00:00:07,880 --> 00:00:10,204
‫data pemandu wisata, jadi dalam video

5
00:00:10,204 --> 00:00:13,340
‫ini saya akan menunjukkan kepada Anda bagaimana kami dapat

6
00:00:13,340 --> 00:00:16,393
‫menerapkan penyematan dokumen pemandu wisata ke dalam dokumen tur.

7
00:00:17,930 --> 00:00:20,320
‫Jadi sekali lagi, dalam kuliah ini kita

8
00:00:20,320 --> 00:00:23,700
‫akan menyematkan dokumen pengguna ke dalam dokumen tur, dan kemudian

9
00:00:23,700 --> 00:00:25,840
‫di video berikutnya, saya

10
00:00:25,840 --> 00:00:28,030
‫akan menunjukkan kepada Anda bagaimana sebenarnya

11
00:00:28,030 --> 00:00:30,610
‫kita bisa mereferensikan pengguna alih-alih menyematkan, oke?

12
00:00:30,610 --> 00:00:33,020
‫Jadi idenya di sini adalah ketika

13
00:00:33,020 --> 00:00:35,730
‫membuat dokumen tur baru, pengguna hanya akan

14
00:00:35,730 --> 00:00:38,630
‫menambahkan larik ID pengguna, dan kami kemudian akan

15
00:00:38,630 --> 00:00:41,020
‫mendapatkan dokumen pengguna yang sesuai berdasarkan

16
00:00:41,020 --> 00:00:42,827
‫ID ini, dan

17
00:00:42,827 --> 00:00:44,800
‫menambahkannya ke dokumen tur kami.

18
00:00:44,800 --> 00:00:48,813
‫Jadi dengan kata lain, kami memasukkannya ke dalam tur kami, oke?

19
00:00:50,903 --> 00:00:52,323
‫Jadi, mari kita lakukan itu di sini sekarang.

20
00:00:55,430 --> 00:00:59,220
‫Jadi panduan akan bertipe array, oke?

21
00:00:59,220 --> 00:01:01,700
‫Sangat sederhana, dan sebenarnya sebelum kami menerapkan kode

22
00:01:01,700 --> 00:01:04,080
‫apa pun, izinkan saya menunjukkan kepada Anda

23
00:01:04,080 --> 00:01:06,943
‫sebagai contoh bagaimana ini akan bekerja saat membuat tur baru.

24
00:01:08,680 --> 00:01:11,360
‫Jadi, mari kembali ke

25
00:01:11,360 --> 00:01:14,523
‫Postman di sini, dan buat tur

26
00:01:16,270 --> 00:01:18,330
‫baru, oke, jadi

27
00:01:18,330 --> 00:01:23,113
‫di sini, di tubuh kita, tentu saja sekarang kita

28
00:01:24,410 --> 00:01:29,400
‫akan menambahkan panduan, kutipan, dan kemudian menentukan array ID, oke?

29
00:01:29,400 --> 00:01:31,113
‫Jadi, mari dapatkan beberapa ID pengguna.

30
00:01:32,610 --> 00:01:36,070
‫Jadi, dapatkan semua pengguna, mari kita lihat apa yang kita miliki di sini.

31
00:01:36,070 --> 00:01:38,070
‫Jadi kami memiliki panduan di sini, sebenarnya, dan

32
00:01:38,070 --> 00:01:39,620
‫mari kita dapatkan ID ini

33
00:01:40,460 --> 00:01:42,060
‫bersama dengan tanda kutip, sebenarnya, jadi

34
00:01:46,370 --> 00:01:47,893
‫mari kita taruh di

35
00:01:49,410 --> 00:01:51,163
‫sini, dan mari tambahkan beberapa yang lain.

36
00:01:52,900 --> 00:01:57,100
‫Jadi, ini di sini juga dan sebenarnya hanya dua ini.

37
00:01:57,100 --> 00:02:02,100
‫Itu sudah cukup untuk menguji hal ini, oke, jadi beginilah cara

38
00:02:02,410 --> 00:02:04,100
‫kita membuat tur baru

39
00:02:04,100 --> 00:02:07,490
‫dengan dua pemandu, oke, dan sekali lagi setelah

40
00:02:07,490 --> 00:02:10,440
‫kita menyimpan tur ini, kita akan,

41
00:02:10,440 --> 00:02:11,840
‫di belakang

42
00:02:11,840 --> 00:02:13,472
‫layar, mengambil dua

43
00:02:13,472 --> 00:02:17,270
‫dokumen pengguna yang sesuai dengan dua ID ini, oke?

44
00:02:17,270 --> 00:02:19,263
‫Jadi, mari kita terapkan itu,

45
00:02:20,440 --> 00:02:21,930
‫dan kembali ke

46
00:02:21,930 --> 00:02:23,960
‫model kita, tempat terbaik untuk melakukannya

47
00:02:23,960 --> 00:02:26,283
‫adalah middleware yang sudah disimpan sebelumnya, bukan?

48
00:02:27,280 --> 00:02:29,980
‫Jadi, itu akan terjadi secara otomatis di

49
00:02:29,980 --> 00:02:31,550
‫belakang layar, pada

50
00:02:31,550 --> 00:02:34,730
‫dasarnya, setiap kali tur baru disimpan, dan sebenarnya, saya

51
00:02:34,730 --> 00:02:36,780
‫tidak ingin melakukannya di sini.

52
00:02:37,620 --> 00:02:39,250
‫Jadi kita punya pertanyaan, ini

53
00:02:39,250 --> 00:02:40,920
‫dia dokumen "Middleware", jadi mari kita

54
00:02:40,920 --> 00:02:42,203
‫lakukan di sini.

55
00:02:43,320 --> 00:02:45,103
‫Jadi turSchema. pra,

56
00:02:53,580 --> 00:02:57,370
‫Baiklah, mari kita panggil berikutnya segera di sini, agar

57
00:02:57,370 --> 00:02:59,600
‫kita tidak melupakannya pada akhirnya.

58
00:02:59,600 --> 00:03:04,600
‫Oke, jadi kita mengerti ini. panduan sebagai input, dan ingat ini

59
00:03:05,220 --> 00:03:07,360
‫akan menjadi array dari semua

60
00:03:07,360 --> 00:03:10,330
‫ID pengguna, benar, jadi kami akan mengulanginya

61
00:03:10,330 --> 00:03:13,290
‫menggunakan . map, dan

62
00:03:13,290 --> 00:03:15,480
‫kemudian di setiap iterasi

63
00:03:15,480 --> 00:03:18,373
‫dapatkan dokumen pengguna untuk ID saat

64
00:03:19,477 --> 00:03:24,477
‫ini, oke, dan kita akan menyimpannya di dalam panduan, oke?

65
00:03:26,460 --> 00:03:29,284
‫Jadi, elemen saat ini, yang akan menjadi

66
00:03:29,284 --> 00:03:30,840
‫ID, kita

67
00:03:30,840 --> 00:03:32,960
‫sebut saja ID untuk membuatnya

68
00:03:32,960 --> 00:03:36,360
‫lebih mudah dipahami, dan sekarang kita benar-benar membutuhkan

69
00:03:36,360 --> 00:03:38,803
‫pengguna, jadi mari kita impor itu.

70
00:03:41,630 --> 00:03:43,143
‫Jadi, const User,

71
00:03:45,490 --> 00:03:46,563
‫require, dan

72
00:03:48,000 --> 00:03:53,000
‫sebenarnya ada di folder yang sama di sini, oke, jadi

73
00:03:55,759 --> 00:03:57,300
‫User. findByID

74
00:04:01,350 --> 00:04:03,730
‫dengan ID saat ini, oke?

75
00:04:03,730 --> 00:04:05,550
‫Tapi sekarang, perlu diingat

76
00:04:05,550 --> 00:04:09,977
‫bahwa kita sebenarnya perlu menunggu janji ini di sini, benar dan

77
00:04:09,977 --> 00:04:11,870
‫begitu, oleh karena itu, fungsinya

78
00:04:11,870 --> 00:04:13,513
‫perlu ditandai sebagai async,

79
00:04:15,540 --> 00:04:18,313
‫tetapi sekarang kita benar-benar mendapatkan masalah, baiklah,

80
00:04:18,313 --> 00:04:21,340
‫karena . metode map akan

81
00:04:21,340 --> 00:04:24,550
‫menetapkan hasil setiap iterasi ke elemen baru dalam

82
00:04:24,550 --> 00:04:27,150
‫array guides, oke, jadi sekarang kami

83
00:04:27,150 --> 00:04:29,100
‫memiliki fungsi asinkron di

84
00:04:29,100 --> 00:04:31,760
‫sini dan, seperti yang Anda tahu,

85
00:04:31,760 --> 00:04:34,160
‫yang mengembalikan janji, dan sekarang

86
00:04:34,160 --> 00:04:38,120
‫array panduan ini pada dasarnya adalah array penuh janji, oke.

87
00:04:38,120 --> 00:04:40,530
‫Mari kita sebut panduan ini Janji dan

88
00:04:42,200 --> 00:04:44,160
‫sekarang kita benar-benar perlu menjalankan

89
00:04:44,160 --> 00:04:47,240
‫semua janji ini, pada dasarnya pada waktu yang sama.

90
00:04:47,240 --> 00:04:49,520
‫Seperti yang saya tunjukkan sedikit lebih

91
00:04:49,520 --> 00:04:51,490
‫awal dalam kode ini, setidaknya

92
00:04:51,490 --> 00:04:53,860
‫jika Anda tidak melewatkan bagian JavaScript asinkron,

93
00:04:53,860 --> 00:04:58,860
‫yang perlu kita lakukan hanyalah menunggu Promise. all and then guidesJanji,

94
00:05:01,230 --> 00:05:03,450
‫oke, dan kita

95
00:05:04,820 --> 00:05:07,670
‫bisa langsung menugaskan hasil ini

96
00:05:07,670 --> 00:05:11,390
‫ke ini. panduan, dan pada dasarnya

97
00:05:11,390 --> 00:05:14,130
‫menimpa larik ID candi itu dengan

98
00:05:14,130 --> 00:05:18,420
‫larik dokumen pengguna, oke, dan karena sekarang kita menggunakan

99
00:05:18,420 --> 00:05:20,000
‫menunggu di

100
00:05:20,000 --> 00:05:23,860
‫sini, kita perlu menandai fungsi ini sebagai asinkron, oke?

101
00:05:23,860 --> 00:05:27,900
‫Berikan selamat, dan saya pikir itu benar-benar itu, oke?

102
00:05:27,900 --> 00:05:31,460
‫Jadi sekali lagi, kita perlu menggunakan Promise. semua di sini

103
00:05:31,460 --> 00:05:35,298
‫karena hasil dari semua ini di sini adalah janji, oke,

104
00:05:35,298 --> 00:05:38,410
‫jadi array ini di sini akan menjadi array

105
00:05:38,410 --> 00:05:40,483
‫yang penuh dengan janji yang kemudian

106
00:05:40,483 --> 00:05:44,180
‫kita jalankan dengan menunggu Promise. semua, oke?

107
00:05:44,180 --> 00:05:46,450
‫Jadi, mari kita uji ini

108
00:05:46,450 --> 00:05:50,018
‫sekarang, dan kita sudah menyiapkan semua kode ini di sini, kita

109
00:05:50,018 --> 00:05:52,373
‫hanya perlu mengubah nama ini di sini.

110
00:05:55,150 --> 00:05:58,560
‫Jadi, 'Test Tour', tapi ID-nya sudah ada di sini.

111
00:05:58,560 --> 00:06:01,760
‫Jadi mari kita kirim ini, dan nama tur kita harus

112
00:06:01,760 --> 00:06:05,167
‫lebih panjang, 'Tur Tugas Baru. ' Oke,

113
00:06:06,050 --> 00:06:11,050
‫tapi sekarang mari kita lihat hasil kami, dan

114
00:06:11,240 --> 00:06:15,900
‫memang kami mendapatkan panduan kami di sini, oke?

115
00:06:15,900 --> 00:06:18,580
‫Jadi ini dokumen lengkapnya,

116
00:06:18,580 --> 00:06:22,170
‫dan memang bukan hanya KTP saja kan?

117
00:06:22,170 --> 00:06:24,198
‫Bagus, jadi beginilah

118
00:06:24,198 --> 00:06:28,440
‫cara kami menerapkan penyematan untuk contoh pemandu wisata ini.

119
00:06:28,440 --> 00:06:30,840
‫Nah, kode sederhana yang kami terapkan di

120
00:06:30,840 --> 00:06:33,850
‫sini tentu saja hanya berfungsi untuk membuat dokumen baru,

121
00:06:33,850 --> 00:06:35,820
‫bukan untuk memperbaruinya, bukan?

122
00:06:35,820 --> 00:06:38,020
‫Jadi sekarang, kita harus

123
00:06:38,020 --> 00:06:42,350
‫melanjutkan dan menerapkan logika yang sama ini juga untuk pembaruan.

124
00:06:42,350 --> 00:06:44,540
‫Namun, saya tidak akan melakukannya karena,

125
00:06:44,540 --> 00:06:47,530
‫ingat dari video tempat kami memodelkan data kami,

126
00:06:47,530 --> 00:06:49,450
‫bahwa sebenarnya ada beberapa

127
00:06:49,450 --> 00:06:52,090
‫kelemahan dalam menyematkan data ini dalam kasus ini.

128
00:06:52,090 --> 00:06:54,350
‫Misalnya, bayangkan seorang pemandu wisata

129
00:06:54,350 --> 00:06:56,770
‫memperbarui alamat emailnya, atau mereka mengubah

130
00:06:56,770 --> 00:06:59,250
‫peran mereka dari pemandu menjadi pemandu utama.

131
00:06:59,250 --> 00:07:02,020
‫Setiap kali salah satu dari perubahan ini terjadi,

132
00:07:02,020 --> 00:07:04,130
‫Anda harus memeriksa apakah tur memiliki

133
00:07:04,130 --> 00:07:06,610
‫pengguna tersebut sebagai panduan, dan jika demikian,

134
00:07:06,610 --> 00:07:08,670
‫maka perbarui tur juga, dan itu

135
00:07:08,670 --> 00:07:10,650
‫benar-benar banyak pekerjaan dan kami tidak

136
00:07:10,650 --> 00:07:11,640
‫akan pergi

137
00:07:11,640 --> 00:07:13,085
‫ke arah itu, oke?

138
00:07:13,085 --> 00:07:15,530
‫Sekarang, saya masih ingin menunjukkan kepada Anda

139
00:07:15,530 --> 00:07:17,220
‫bagaimana sebenarnya penyematan

140
00:07:17,220 --> 00:07:19,520
‫bekerja, dan bagaimana kita dapat menerapkannya

141
00:07:19,520 --> 00:07:22,201
‫dalam situasi ini karena saya sangat yakin

142
00:07:22,201 --> 00:07:24,551
‫bahwa sangat penting bagi Anda untuk

143
00:07:24,551 --> 00:07:26,340
‫tetap tahu bagaimana melakukan

144
00:07:26,340 --> 00:07:28,590
‫segalanya jika Anda membutuhkannya dalam aplikasi

145
00:07:28,590 --> 00:07:30,820
‫Anda sendiri, oke, tetapi dalam

146
00:07:30,820 --> 00:07:33,810
‫situasi khusus ini kita akan, alih-alih menyematkan, menggunakan

147
00:07:33,810 --> 00:07:36,085
‫referensi, dan saya berbicara tentang alasan

148
00:07:36,085 --> 00:07:38,400
‫melakukannya kembali di video itu, oke?

149
00:07:38,400 --> 00:07:40,930
‫Jadi, mari kita lanjutkan dan lakukan itu

150
00:07:40,930 --> 00:07:42,803
‫dengan benar di kuliah berikutnya.

